From 811d745dfb0da4ea1ad7efe606764b7d655610de Mon Sep 17 00:00:00 2001 From: Kostadin Shishmanov Date: Fri, 15 May 2026 17:13:53 +0300 Subject: [PATCH] games-util/mangohud: add 0.8.3 Closes: https://bugs.gentoo.org/974994 Signed-off-by: Kostadin Shishmanov --- games-util/mangohud/Manifest | 3 + ...atch => mangohud-0.8.3-system-imgui.patch} | 0 games-util/mangohud/mangohud-0.8.3.ebuild | 149 ++++++++++++++++++ 3 files changed, 152 insertions(+) rename games-util/mangohud/files/{mangohud-9999-system-imgui.patch => mangohud-0.8.3-system-imgui.patch} (100%) create mode 100644 games-util/mangohud/mangohud-0.8.3.ebuild diff --git a/games-util/mangohud/Manifest b/games-util/mangohud/Manifest index 38b92e8937..2382f3efb0 100644 --- a/games-util/mangohud/Manifest +++ b/games-util/mangohud/Manifest @@ -1,7 +1,10 @@ +DIST Vulkan-Headers-1.4.346.tar.gz 3231583 BLAKE2B 20057db3493e769824844f49a3f0458f83e653fe5b63b7ea711c46929d1a491d8cb6460a089c5bbbe688fb0d04ea62b512a1a5a0aee092aa24e957a25cf06846 SHA512 3afe221ad6bda2e864fd7f54b436a3b44b409e2a5929aab7176192eea0d7ff4c7182aa295e9cb7dbd3add79bd6e29467f9c12f664fd42516d62500b39722faa2 +DIST Vulkan-Utility-Libraries-1.4.346.tar.gz 1306759 BLAKE2B 8c4ebf73af3ad871360e7c4a426bd0f3f45082d5e9a708e6348ab0595cda307ee4de57c388c885e7f54aeff3c0cd8a1e834125f50003e8be1fc83af241ecf0c1 SHA512 754efbee3705567f48f320892ab76a7c2c64870d1d651d2de120461e204586ac6332ae20998634ca8ced8ad6e9c24a885b615d35682935b7c503eef15e3735e8 DIST mangohud-0.7.2.tar.gz 14906751 BLAKE2B a88e6497d8a8bcd899fc41d555dec429a69c864a10476c1d549acead58a7fc7c5f5d14d901b75bd2aed1d8c8088a027417a74480b89501d947333d665d0567c0 SHA512 edc3e380f9f58b65ae04c970e84eec9ff3458eafb2d89b2208c0afa6978a745a634aab6b0e025996175981e80c66475ef92ffe326d31a67055895b8fd1213e63 DIST mangohud-0.8.0.tar.gz 14911988 BLAKE2B 94da2c850f616adb02478a641b6554298a4e9ce4eff7ef75c962adb180fd43ebb789c684204d11eb9194fc14c5db7fbe94045b3843b25ac7c3f1d655d4f7725f SHA512 ece0c8310789e1876b97926ddeb4305b5180460766a343c9f875c0d6342194c14e6c94ef28748b452ecdc590e174ef042283ba5ba40047070ea684c3b855cb7c DIST mangohud-0.8.1.tar.gz 14918082 BLAKE2B 11ca387718b13f853573e37212bbd838c915bac949704860e7abf5f324c2668a70377e0b9d8e27b490ff984a7016da4e7ac7306335d4f83d0e807b9cdd21b19d SHA512 c99326bdb48dec9068e41536b468ff9dec5996d3b051a8277fe68fd91309219c8197f699b84cac4561321a946416ef2eea35a42b35e9da0bb01c977710635d93 DIST mangohud-0.8.2.tar.gz 14934235 BLAKE2B 2fbf57fb4b68ba808f8b99cbdf0606a618e993695c938a45a8abc04dff29f00823f3a0858850e1f52e14615b7d40775fcf0ae3fcd8b48fe7cf578237caae8930 SHA512 9f5a04a01a0a28569c44b57ea59dc17f98a418afd93680e616d208e33b31bb57d081d479239b172b2ebc83f5872b187726324fe76b504dc43169057943bba637 +DIST mangohud-0.8.3.tar.gz 14947932 BLAKE2B 37b96e8ea4b64c4f295bdd065f63cbe0c02615f551c0561f5be9059246f0639e0acff74a9f826289e609bb63ef41875a707de6ebdb5e7d65ad9a1eafd67640a9 SHA512 90ae828e378d5f901c98a30432aee1187fe2b9defdf5415c920f6f5d572799a0d7f49462457fea01bfb11f0c77a3eb00bbd015bd508cf1e0cbc1f24da4fee1c7 DIST vulkan-headers-1.2.158-2-meson-wrap.zip 1107 BLAKE2B 35e4bb1f7410a009243fe7d4a4ba6cede7f01e0b56ad6ff72ad30c00c2452bd6d2a4fb44ab92c296147e2506a92acc6de1f817cb5433b96d66652cbcd8885595 SHA512 30cbbb90580399839e1bba8881b9b8cc33fdeead93f37d5f3398c9d53fb3ab050ca2562fd68f376fa4ee0825ee3787f560d70d55a170c780dd575ff2eeb66efd DIST vulkan-headers-1.2.158.tar.gz 831647 BLAKE2B 792d7e895e27c4a8fbc93fc4d9c9e696d2ceb946e745709c050c0693b77afbeb6411a4267fc59508ddeb58167d469349fedc1c5d4b4a7415b590c97248b244bc SHA512 f7aa9222f9deb1316d22deacc2c6cd85c409f0f2b2d37ecd55e0fc8466d381bbe3bed287881b993a01c5f33736e1607014f820980b7a54a3721fab6980960c91 DIST vulkan-headers-1.3.283-1-meson-wrap.zip 1219 BLAKE2B 48efb687335a478e16396114d13177b91aba5b4fd321d155d028c404d39d4968a74b3911bbfcfebd6288bc922f52e4b761ee348df4d772a45e57a60d302e5641 SHA512 45aab78ea50b280610bdb6ba704388a16f159ddab1d19ae503e58edaee403f979027a18bf0303780e63e63d807368d1911388a5b5c2da42bb5ca89b5d8d47d85 diff --git a/games-util/mangohud/files/mangohud-9999-system-imgui.patch b/games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch similarity index 100% rename from games-util/mangohud/files/mangohud-9999-system-imgui.patch rename to games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch diff --git a/games-util/mangohud/mangohud-0.8.3.ebuild b/games-util/mangohud/mangohud-0.8.3.ebuild new file mode 100644 index 0000000000..0002194bc4 --- /dev/null +++ b/games-util/mangohud/mangohud-0.8.3.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit flag-o-matic python-single-r1 meson-multilib toolchain-funcs + +DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more" +HOMEPAGE="https://github.com/flightlessmango/MangoHud" + +# Check subprojects/vulkan-headers.wrap for this value +VK_HEADERS_VER="1.4.346" + +SRC_URI=" + https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz + -> Vulkan-Headers-${VK_HEADERS_VER}.tar.gz + https://github.com/KhronosGroup/Vulkan-Utility-Libraries/archive/v${VK_HEADERS_VER}.tar.gz + -> Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz +" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git" +else + SRC_URI+="https://github.com/flightlessmango/MangoHud/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/MangoHud-${PV}" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="+dbus +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia test" +RESTRICT="test" # tests aren't enabled upstream + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + || ( X wayland ) + xnvctrl? ( video_cards_nvidia X ) + mangoapp? ( X ) +" + +BDEPEND=" + dev-util/glslang + test? ( dev-util/cmocka ) + $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]') +" + +DEPEND=" + ${PYTHON_DEPS} + dev-libs/spdlog:=[${MULTILIB_USEDEP}] + dev-libs/libfmt:=[${MULTILIB_USEDEP}] + =media-libs/imgui-1.91.6*:=[${MULTILIB_USEDEP}] + =media-libs/implot-0.16*:=[${MULTILIB_USEDEP}] + x11-libs/libxkbcommon:=[${MULTILIB_USEDEP}] + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + X? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) + video_cards_nvidia? ( + x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}] + xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] ) + ) + wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] ) + mangoapp? ( + =media-libs/imgui-1.91.6*[glfw,opengl] + media-libs/glfw[X(+)?,wayland(+)?] + ) +" + +RDEPEND=" + ${DEPEND} + media-libs/libglvnd[${MULTILIB_USEDEP}] + media-libs/vulkan-loader[${MULTILIB_USEDEP}] + mangoplot? ( + media-fonts/lato + $(python_gen_cond_dep ' + || ( + dev-python/matplotlib[gtk3,${PYTHON_USEDEP}] + dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}] + dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}] + dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}] + ) + ') + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.8.3-system-imgui.patch" +) + +src_unpack() { + default + + if [[ $PV == 9999 ]]; then + git-r3_src_unpack + fi + + unpack Vulkan-Headers-${VK_HEADERS_VER}.tar.gz + unpack Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz +} + +src_prepare() { + default + + mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die + mv "${WORKDIR}/Vulkan-Utility-Libraries-${VK_HEADERS_VER}" "${S}/subprojects/" || die + + pushd subprojects || die + mv packagefiles/vulkan-headers/* Vulkan-Headers-${VK_HEADERS_VER} || die + mv packagefiles/vulkan-utility-libraries/* Vulkan-Utility-Libraries-${VK_HEADERS_VER} || die + # save some space when using FEATURES=installsources + rm -rf "*.wrap" "{packagefiles/imgui-0.16}" || die + popd || die +} + +multilib_src_configure() { + # workaround for lld + # https://github.com/flightlessmango/MangoHud/issues/1240 + if tc-ld-is-lld; then + append-ldflags -Wl,--undefined-version + fi + + local emesonargs=( + -Dappend_libdir_mangohud=false + -Dinclude_doc=false + -Duse_system_spdlog=enabled + $(meson_feature video_cards_nvidia with_nvml) + $(meson_feature xnvctrl with_xnvctrl) + $(meson_feature X with_x11) + $(meson_feature wayland with_wayland) + $(meson_feature dbus with_dbus) + $(meson_use mangoapp mangoapp) + $(meson_use mangohudctl mangohudctl) + $(meson_feature mangoplot mangoplot) + $(meson_feature test tests) + ) + meson_src_configure +} + +pkg_postinst() { + if ! use xnvctrl; then + einfo "" + einfo "If mangohud can't get GPU load, or other GPU information," + einfo "and you have an older Nvidia device." + einfo "" + einfo "Try enabling the 'xnvctrl' useflag." + einfo "" + fi +}