commit: eb4eab6d5c6ad73087eaef42036f084af23fef86 Author: Charlie Quinet <w.iron.zombie <AT> gmail <DOT> com> AuthorDate: Thu Jul 24 22:03:10 2025 +0000 Commit: Quinet Charlie <w.iron.zombie <AT> gmail <DOT> com> CommitDate: Thu Jul 24 22:03:10 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=eb4eab6d
app-emulation/lsfg-vk: improve ebuild, use CARGO_OPTIONAL Signed-off-by: Charlie Quinet <w.iron.zombie <AT> gmail.com> app-emulation/lsfg-vk/lsfg-vk-9999.ebuild | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild index b5dc740cde..66c3327f84 100644 --- a/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild +++ b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild @@ -3,7 +3,8 @@ EAPI=8 -inherit cmake cargo toolchain-funcs +CARGO_OPTIONAL=1 +inherit cargo cmake flag-o-matic toolchain-funcs DESCRIPTION="Lossless Scaling Frame Generation on Linux via DXVK/Vulkan" HOMEPAGE="https://github.com/PancakeTAS/lsfg-vk" @@ -31,6 +32,7 @@ fi BDEPEND=" dev-util/spirv-headers dev-util/vulkan-headers + gui? ( ${RUST_DEPEND} ) >=media-libs/raylib-9999 " DEPEND=" @@ -61,6 +63,7 @@ src_unpack() { oldS="${S}" S="${S}/ui" if [[ ${PV} != 9999 ]]; then + A=$(printf '%s\n' "${A[@]}" | grep '\.crate$' || true) # Workaroud to avoid unpacking twice cargo_src_unpack else cargo_live_src_unpack @@ -69,17 +72,6 @@ src_unpack() { fi } -src_configure() { - tc-is-gcc && filter-lto # LTO with gcc causes segfaults at runtime - cmake_src_configure - use gui && cd ui && cargo_src_configure -} - -src_compile() { - cmake_src_compile - use gui && cd ui && cargo_src_compile -} - src_prepare() { if [[ ${PV} != 9999 ]]; then mv ../dxbc-${HASH_DXBC} thirdparty/dxbc || die @@ -129,9 +121,20 @@ target_include_directories(dxbc\ cmake_src_prepare } +src_configure() { + tc-is-gcc && filter-lto # LTO with gcc causes segfaults at runtime + cmake_src_configure + use gui && { pushd ui > /dev/null || die; cargo_src_configure; } +} + +src_compile() { + cmake_src_compile + use gui && { pushd ui > /dev/null || die; cargo_src_compile; } +} + src_install() { insinto "/usr/share/vulkan/implicit_layer.d/" doins "${S}/VkLayer_LS_frame_generation.json" dolib.so "${WORKDIR}/${P}_build/liblsfg-vk.so" - use gui && newbin "${S}/ui/target/release/ui" "lsfg-vk-gui" + use gui && newbin "${S}/ui/$(cargo_target_dir)/ui" "lsfg-vk-gui" }
