mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 15:13:31 -04:00
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@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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(
|
||||
@@ -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', [])
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user