commit: 6a66116471864352775493f1432b0bcac7828151 Author: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com> AuthorDate: Thu May 9 14:57:41 2024 +0000 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me> CommitDate: Thu May 9 15:57:39 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6a661164
games-util/mangohud: use spdlog, imgui and implot system packages * refactor the ebuild to use system dependecies instead of submodules * TODO: apply the same change to Vulkan-Headers * TODO: add the new submodules (including tests) * TODO: make a meson patch that can be upstream (optional) Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail.com> games-util/mangohud/Manifest | 4 --- .../files/implot-v0.16-fix-imgui-dep.patch | 16 ----------- .../files/mangohud-v0.7.1-menson-fix-dep.patch | 19 +++++++++++++ .../mangohud-v0.7.1-meson-fix-imgui-dep.patch | 14 --------- ...gohud-0.7.1.ebuild => mangohud-0.7.1-r1.ebuild} | 33 ++++------------------ games-util/mangohud/mangohud-9999.ebuild | 33 ++++------------------ 6 files changed, 29 insertions(+), 90 deletions(-) diff --git a/games-util/mangohud/Manifest b/games-util/mangohud/Manifest index f52b926d20..500e807d71 100644 --- a/games-util/mangohud/Manifest +++ b/games-util/mangohud/Manifest @@ -1,7 +1,3 @@ -DIST implot-0.16-1-wrap.zip 1226 BLAKE2B 4725661fe2c7f7f05e1702c3a871f9feb9fdefdc2a840cdf8a3d56e7e180e950533f830192f9ad19cba97e8094ab53cf73adda2ed6712a83384d4160f6c06b18 SHA512 6e54beebef8ac4ec0b3e85d30d7570c9a987d69c03b6a564bc67d105d19d2cec45cb3ab8921ebcbda51e7139d93c3c6dae359fa30b3fcce748cdec8953aabbf7 -DIST implot-0.16.tar.gz 137983 BLAKE2B aca328e2fe6049b72601f25a409f313e99971f606e68ca780a1594f8ca42b1606831090add8039fefd013cfb6c057900f0add347d1b80c466a05bd18e455b8d7 SHA512 117cb08122d900e7db857897bfec4c9ac3300a1d429c8f0303415bc693840baa9bbbb91ca3f13853d8efd3a6ebf538b7114401d4fbfe0d067256e58cbdbd4919 DIST mangohud-0.7.1.tar.gz 14901139 BLAKE2B 722b1caa21225a15d175e0f83dbb4b4a6ac2be92443628dcfe82fe4e36773174121f95deaf078fae9ed25ea74242f5f9acd3e2a4e94111b4a32fbc7c9a852705 SHA512 981b20f0ca986a8e0ee5349dc3d9a5580c1e3eb0a40a1a0e81c390f85d25e3f175fdcca75cd2f18bf0af9f49c7d144de6d85406b6a3c96bdf204a7557f530300 -DIST spdlog-1.13.0-1-wrap.zip 2959 BLAKE2B 13744264cfab96ff51f033300182b8937959e7bf74851d7cff26b7e9c05109518b0623a71bfc326951d86c43d104a1bb1700cd45e69ebd41683726e9764f630b SHA512 59c5d50ee1c14a1b43aa3000a591d9fd2bc4c9ff043b23d25be896ca9a34c1c392c26240ed58a5e877231c09fd1b28012f58b3c403d0370cf5dd9169587a8de4 -DIST spdlog-1.13.0.tar.gz 264003 BLAKE2B 8ffeec847f082a0932f406ab44b4653661fdbe95a15f7b736367ee6d8f45ab36ca2182a9e9c6fba5c0688ab5436c16932b130541a8532cc2e5f4980e6340b929 SHA512 44fcb414ad9fbbe2a6d72c29143eeeae477b687ed30ae870d661b032a029ad4214ef43e7ef6350d02791d05504492978ade2d6733fab12ce4884d8f0bc4c6340 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 diff --git a/games-util/mangohud/files/implot-v0.16-fix-imgui-dep.patch b/games-util/mangohud/files/implot-v0.16-fix-imgui-dep.patch deleted file mode 100644 index 68f5768760..0000000000 --- a/games-util/mangohud/files/implot-v0.16-fix-imgui-dep.patch +++ /dev/null @@ -1,16 +0,0 @@ -# We provide media-libs/imgui in guru - -diff --git a/meson.build b/meson.build.new -index b628fe0..16b11de 100644 ---- a/meson.build -+++ b/meson.build -@@ -5,8 +5,7 @@ project( - version : '0.16', - ) - --imgui_sp = subproject('imgui') --imgui_dep = imgui_sp.get_variable('imgui_dep') -+imgui_dep = dependency('imgui') - - implot_inc = include_directories('.') - implot_src = files( diff --git a/games-util/mangohud/files/mangohud-v0.7.1-menson-fix-dep.patch b/games-util/mangohud/files/mangohud-v0.7.1-menson-fix-dep.patch new file mode 100644 index 0000000000..c85efd7bc1 --- /dev/null +++ b/games-util/mangohud/files/mangohud-v0.7.1-menson-fix-dep.patch @@ -0,0 +1,19 @@ +diff --git a/meson.build b/meson.build +index daf063d..a0c0633 100644 +--- a/meson.build ++++ b/meson.build +@@ -214,12 +214,10 @@ if get_option('mangoapp') + ] + endif + +-dearimgui_sp = subproject('imgui', default_options: imgui_options) +-dearimgui_dep = dearimgui_sp.get_variable('imgui_dep') ++dearimgui_dep = dependency('imgui') + + if is_unixy +-implot_sp = subproject('implot', default_options: ['default_library=static']) +-implot_dep = implot_sp.get_variable('implot_dep') ++implot_dep = dependency('implot') + else + implot_dep = null_dep + implot_lib = static_library('nulllib', []) diff --git a/games-util/mangohud/files/mangohud-v0.7.1-meson-fix-imgui-dep.patch b/games-util/mangohud/files/mangohud-v0.7.1-meson-fix-imgui-dep.patch deleted file mode 100644 index 6d3c9c2852..0000000000 --- a/games-util/mangohud/files/mangohud-v0.7.1-meson-fix-imgui-dep.patch +++ /dev/null @@ -1,14 +0,0 @@ -# We provide media-libs/imgui in guru - ---- a/meson.build -+++ b/meson.build -@@ -251,8 +251,7 @@ elif sizeof_ptr == 4 - pre_args += '-DMANGOHUD_ARCH="32bit"' - endif - --dearimgui_sp = subproject('imgui', default_options: imgui_options) --dearimgui_dep = dearimgui_sp.get_variable('imgui_dep') -+dearimgui_dep = dependency('imgui') - - spdlog_dep = cpp.find_library('spdlog', required: get_option('use_system_spdlog')) - if not spdlog_dep.found() diff --git a/games-util/mangohud/mangohud-0.7.1.ebuild b/games-util/mangohud/mangohud-0.7.1-r1.ebuild similarity index 72% rename from games-util/mangohud/mangohud-0.7.1.ebuild rename to games-util/mangohud/mangohud-0.7.1-r1.ebuild index f96a5d8ce4..bc5fd3257a 100644 --- a/games-util/mangohud/mangohud-0.7.1.ebuild +++ b/games-util/mangohud/mangohud-0.7.1-r1.ebuild @@ -15,24 +15,12 @@ HOMEPAGE="https://github.com/flightlessmango/MangoHud" VK_HEADERS_VER="1.2.158" VK_HEADERS_MESON_WRAP_VER="2" -SPDLOG_VER="1.13.0" -SPDLOG_WRAP_VER="1" -IMPLOT_VER="0.16" -IMPLOT_WRAP_VER="1" SRC_URI=" https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz -> vulkan-headers-${VK_HEADERS_VER}.tar.gz https://wrapdb.mesonbuild.com/v2/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}/get_patch -> vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip - https://github.com/gabime/spdlog/archive/refs/tags/v${SPDLOG_VER}.tar.gz - -> spdlog-${SPDLOG_VER}.tar.gz - https://wrapdb.mesonbuild.com/v2/spdlog_${SPDLOG_VER}-${SPDLOG_WRAP_VER}/get_patch - -> spdlog-${SPDLOG_VER}-${SPDLOG_WRAP_VER}-wrap.zip - https://github.com/epezent/implot/archive/refs/tags/v${IMPLOT_VER}.tar.gz - -> implot-${IMPLOT_VER}.tar.gz - https://wrapdb.mesonbuild.com/v2/implot_${IMPLOT_VER}-${IMPLOT_WRAP_VER}/get_patch - -> implot-${IMPLOT_VER}-${IMPLOT_WRAP_VER}-wrap.zip " if [[ ${PV} == 9999 ]]; then @@ -59,12 +47,14 @@ REQUIRED_USE=" BDEPEND=" app-arch/unzip + >=dev-util/vulkan-headers-1.2.158 $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]') " RDEPEND=" ${PYTHON_DEPS} - ~media-libs/imgui-1.81[opengl,vulkan,${MULTILIB_USEDEP}] + >=media-libs/imgui-1.81[opengl,vulkan,${MULTILIB_USEDEP}] + >=media-libs/implot-0.16[${MULTILIB_USEDEP}] dev-cpp/nlohmann_json dev-util/glslang media-fonts/lato @@ -88,7 +78,7 @@ RDEPEND=" " PATCHES=( - "${FILESDIR}/mangohud-v0.7.1-meson-fix-imgui-dep.patch" + "${FILESDIR}/mangohud-v0.7.1-menson-fix-dep.patch" ) src_unpack() { @@ -104,15 +94,6 @@ src_unpack() { unpack vulkan-headers-${VK_HEADERS_VER}.tar.gz unpack vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die - - # fix build error by using upstream submodule version of spdlog - unpack spdlog-${SPDLOG_VER}.tar.gz - unpack spdlog-${SPDLOG_VER}-${SPDLOG_WRAP_VER}-wrap.zip - mv "${WORKDIR}/spdlog-${SPDLOG_VER}" "${S}/subprojects/" || die - - unpack implot-${IMPLOT_VER}.tar.gz - unpack implot-${IMPLOT_VER}-${IMPLOT_WRAP_VER}-wrap.zip - mv "${WORKDIR}/implot-${IMPLOT_VER}" "${S}/subprojects/" || die } src_prepare() { @@ -123,16 +104,12 @@ src_prepare() { find . -type f -exec sed -i 's|<imgui_internal.h>|<imgui/imgui_internal.h>|g' {} \; || die find . -type f -exec sed -i 's|"imgui_internal.h"|<imgui/imgui_internal.h>|g' {} \; || die - # replace imgui_dep in implot build file - sed -i -r -e 's|(imgui_dep = ).*|\1dependency('\'imgui\'')|' \ - -e '/imgui_sp/d' "${S}/subprojects/implot-${IMPLOT_VER}/meson.build" || die } multilib_src_configure() { - # disable system spdlog in favor of the submodule version local emesonargs=( -Dappend_libdir_mangohud=false - -Duse_system_spdlog=disabled + -Duse_system_spdlog=enabled -Dinclude_doc=false $(meson_feature video_cards_nvidia with_nvml) $(meson_feature xnvctrl with_xnvctrl) diff --git a/games-util/mangohud/mangohud-9999.ebuild b/games-util/mangohud/mangohud-9999.ebuild index f96a5d8ce4..bc5fd3257a 100644 --- a/games-util/mangohud/mangohud-9999.ebuild +++ b/games-util/mangohud/mangohud-9999.ebuild @@ -15,24 +15,12 @@ HOMEPAGE="https://github.com/flightlessmango/MangoHud" VK_HEADERS_VER="1.2.158" VK_HEADERS_MESON_WRAP_VER="2" -SPDLOG_VER="1.13.0" -SPDLOG_WRAP_VER="1" -IMPLOT_VER="0.16" -IMPLOT_WRAP_VER="1" SRC_URI=" https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz -> vulkan-headers-${VK_HEADERS_VER}.tar.gz https://wrapdb.mesonbuild.com/v2/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}/get_patch -> vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip - https://github.com/gabime/spdlog/archive/refs/tags/v${SPDLOG_VER}.tar.gz - -> spdlog-${SPDLOG_VER}.tar.gz - https://wrapdb.mesonbuild.com/v2/spdlog_${SPDLOG_VER}-${SPDLOG_WRAP_VER}/get_patch - -> spdlog-${SPDLOG_VER}-${SPDLOG_WRAP_VER}-wrap.zip - https://github.com/epezent/implot/archive/refs/tags/v${IMPLOT_VER}.tar.gz - -> implot-${IMPLOT_VER}.tar.gz - https://wrapdb.mesonbuild.com/v2/implot_${IMPLOT_VER}-${IMPLOT_WRAP_VER}/get_patch - -> implot-${IMPLOT_VER}-${IMPLOT_WRAP_VER}-wrap.zip " if [[ ${PV} == 9999 ]]; then @@ -59,12 +47,14 @@ REQUIRED_USE=" BDEPEND=" app-arch/unzip + >=dev-util/vulkan-headers-1.2.158 $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]') " RDEPEND=" ${PYTHON_DEPS} - ~media-libs/imgui-1.81[opengl,vulkan,${MULTILIB_USEDEP}] + >=media-libs/imgui-1.81[opengl,vulkan,${MULTILIB_USEDEP}] + >=media-libs/implot-0.16[${MULTILIB_USEDEP}] dev-cpp/nlohmann_json dev-util/glslang media-fonts/lato @@ -88,7 +78,7 @@ RDEPEND=" " PATCHES=( - "${FILESDIR}/mangohud-v0.7.1-meson-fix-imgui-dep.patch" + "${FILESDIR}/mangohud-v0.7.1-menson-fix-dep.patch" ) src_unpack() { @@ -104,15 +94,6 @@ src_unpack() { unpack vulkan-headers-${VK_HEADERS_VER}.tar.gz unpack vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die - - # fix build error by using upstream submodule version of spdlog - unpack spdlog-${SPDLOG_VER}.tar.gz - unpack spdlog-${SPDLOG_VER}-${SPDLOG_WRAP_VER}-wrap.zip - mv "${WORKDIR}/spdlog-${SPDLOG_VER}" "${S}/subprojects/" || die - - unpack implot-${IMPLOT_VER}.tar.gz - unpack implot-${IMPLOT_VER}-${IMPLOT_WRAP_VER}-wrap.zip - mv "${WORKDIR}/implot-${IMPLOT_VER}" "${S}/subprojects/" || die } src_prepare() { @@ -123,16 +104,12 @@ src_prepare() { find . -type f -exec sed -i 's|<imgui_internal.h>|<imgui/imgui_internal.h>|g' {} \; || die find . -type f -exec sed -i 's|"imgui_internal.h"|<imgui/imgui_internal.h>|g' {} \; || die - # replace imgui_dep in implot build file - sed -i -r -e 's|(imgui_dep = ).*|\1dependency('\'imgui\'')|' \ - -e '/imgui_sp/d' "${S}/subprojects/implot-${IMPLOT_VER}/meson.build" || die } multilib_src_configure() { - # disable system spdlog in favor of the submodule version local emesonargs=( -Dappend_libdir_mangohud=false - -Duse_system_spdlog=disabled + -Duse_system_spdlog=enabled -Dinclude_doc=false $(meson_feature video_cards_nvidia with_nvml) $(meson_feature xnvctrl with_xnvctrl)