commit:     ccde343f7c5b802035ee9acfcb82a8557456b3c7
Author:     Charlie Quinet <w.iron.zombie <AT> gmail <DOT> com>
AuthorDate: Sat Jul 26 01:00:04 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Sat Jul 26 01:00:04 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ccde343f

app-emulation/lsfg-vk: update for upstream changes

Signed-off-by: Charlie Quinet <w.iron.zombie <AT> gmail.com>

 app-emulation/lsfg-vk/lsfg-vk-9999.ebuild | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild 
b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild
index b916f2eaac..2dcdf1ef9d 100644
--- a/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild
+++ b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 CARGO_OPTIONAL=1
-inherit cargo cmake flag-o-matic toolchain-funcs
+inherit cargo cmake desktop flag-o-matic toolchain-funcs
 
 DESCRIPTION="Lossless Scaling Frame Generation on Linux via DXVK/Vulkan"
 HOMEPAGE="https://github.com/PancakeTAS/lsfg-vk";
@@ -18,14 +18,17 @@ if [[ ${PV} == 9999 ]]; then
        EGIT_SUBMODULES=(
                thirdparty/dxbc
                thirdparty/pe-parse
+               thirdparty/volk
        )
 else
        HASH_DXBC="80e316fd13d7e8938d99a08f1f405a0679c3ccfa"
+       HASH_VOLK="be3dbd49bf77052665e96b6c7484af855e7e5f67"
        PEPARSE_VERSION="2.1.1"
        SRC_URI="
                
https://github.com/PancakeTAS/lsfg-vk/archive/refs/tags/v${PV}.tar.gz
                https://github.com/PancakeTAS/dxbc/archive/${HASH_DXBC}.tar.gz
                
https://github.com/trailofbits/pe-parse/archive/refs/tags/v${PEPARSE_VERSION}.tar.gz
+               https://github.com/zeux/volk/archive/${HASH_VOLK}.tar.gz
        "
 fi
 
@@ -33,14 +36,13 @@ BDEPEND="
        dev-util/spirv-headers
        dev-util/vulkan-headers
        gui? ( ${RUST_DEPEND} )
-       >=media-libs/raylib-9999
 "
 DEPEND="
        dev-cpp/toml11
        dev-util/glslang
        gui? (
                dev-libs/glib:2
-               gui-libs/gtk:4
+               gui-libs/gtk:4[introspection]
                gui-libs/libadwaita
        )
        || (
@@ -75,6 +77,7 @@ src_prepare() {
        if [[ ${PV} != 9999 ]]; then
                mv ../dxbc-${HASH_DXBC} thirdparty/dxbc || die
                mv ../pe-parse-${PEPARSE_VERSION} thirdparty/pe-parse || die
+               mv ../volk-${HASH_VOLK} thirdparty/volk || die
        fi
 
        # Static linking pe-parse
@@ -86,18 +89,15 @@ src_prepare() {
                's|add_library(${PROJECT_NAME} 
${PEPARSERLIB_SOURCEFILES})|add_library(${PROJECT_NAME} STATIC 
${PEPARSERLIB_SOURCEFILES})|'\
                thirdparty/pe-parse/pe-parser-library/CMakeLists.txt || die
 
-       # Using system toml11 and raylib
+       # Using system toml11
        sed -i\
                -e '/add_subdirectory(thirdparty\/toml11 EXCLUDE_FROM_ALL)/d' \
-               -e '/add_subdirectory(thirdparty\/raylib EXCLUDE_FROM_ALL)/d' \
                -e '/get_target_property(TOML11_INCLUDE_DIRS toml11 
INTERFACE_INCLUDE_DIRECTORIES)/{
 N
 /target_include_directories(lsfg-vk SYSTEM PRIVATE ${TOML11_INCLUDE_DIRS})/c\
-find_package(toml11 REQUIRED)\
-find_library(raylib_LIBRARY NAMES raylib)
+find_package(toml11 REQUIRED)
 }'\
-               -e '/target_link_libraries(lsfg-vk PRIVATE/{N;N;s/toml11 
raylib/toml11::toml11 raylib/;s/ SPIRV-Headers//}'\
-               -e '/set(CMAKE_CXX_COMPILER clang++) # gcc release build 
crashes/d;/set(CMAKE_C_COMPILER clang)     # feel free to fix :3/d'\
+               -e '/target_link_libraries(lsfg-vk 
PRIVATE/{:a;N;/)/!ba;s/\btoml11\b/toml11::toml11/g;s/\bSPIRV-Headers\b *//g}'\
                CMakeLists.txt || die
 
        # Using system spirv headers
@@ -111,11 +111,6 @@ target_include_directories(dxbc\
 )' \
                thirdparty/dxbc/CMakeLists.txt || die
 
-       # Fixed library path
-       sed -i\
-               's|"library_path": 
"\.\./\.\./\.\./lib/liblsfg-vk\.so"|"library_path": "liblsfg-vk.so"|'\
-               VkLayer_LS_frame_generation.json || die
-
        eapply_user
        cmake_src_prepare
 }
@@ -135,5 +130,9 @@ 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/$(cargo_target_dir)/ui" "lsfg-vk-gui"
+       if use gui; then
+               dobin "${S}/ui/$(cargo_target_dir)/lsfg-vk-ui"
+               domenu "${S}/ui/rsc/gay.pancake.lsfg-vk-ui.desktop"
+               newicon -s 256 "${S}/ui/rsc/icon.png" 
"gay.pancake.lsfg-vk-ui.png"
+       fi
 }

Reply via email to