commit: 0a0faef73f608167525081373b31bc8b8a5d1620 Author: Charlie Quinet <w.iron.zombie <AT> gmail <DOT> com> AuthorDate: Mon Jul 14 01:13:25 2025 +0000 Commit: Quinet Charlie <w.iron.zombie <AT> gmail <DOT> com> CommitDate: Mon Jul 14 01:28:07 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0a0faef7
app-emulation/lsfg-vk: new ebuild Signed-off-by: Charlie Quinet <w.iron.zombie <AT> gmail.com> app-emulation/lsfg-vk/lsfg-vk-9999.ebuild | 58 +++++++++++++++++++++++++++++++ app-emulation/lsfg-vk/metadata.xml | 12 +++++++ 2 files changed, 70 insertions(+) diff --git a/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild new file mode 100644 index 0000000000..0dd3b2122a --- /dev/null +++ b/app-emulation/lsfg-vk/lsfg-vk-9999.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Lossless Scaling Frame Generation on Linux via DXVK/Vulkan" +HOMEPAGE="https://github.com/PancakeTAS/lsfg-vk" +LICENSE="MIT" +SLOT="0" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/PancakeTAS/lsfg-vk" + EGIT_SUBMODULES=( + dxbc + pe-parse + ) +else + HASH_DXBC="04ca5e9ae5fef6c0c65ea72bbaa7375327f11454" + 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 + " +fi + +BDEPEND=" + dev-util/vulkan-headers +" +DEPEND=" + media-libs/vulkan-loader +" +RDEPEND="${DEPEND}" + +src_prepare() { + if [[ ${PV} != 9999 ]]; then + mv ../dxbc-${HASH_DXBC} dxbc || die + mv ../pe-parse-${PEPARSE_VERSION} pe-parse || die + fi + + sed -i 's/^option(BUILD_SHARED_LIBS "Build Shared Libraries" ON)$/option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)/' pe-parse/CMakeLists.txt || die + sed -i 's|add_library(${PROJECT_NAME} ${PEPARSERLIB_SOURCEFILES})|add_library(${PROJECT_NAME} STATIC ${PEPARSERLIB_SOURCEFILES})|' pe-parse/pe-parser-library/CMakeLists.txt || die + + sed -i '/^set(CMAKE_C_COMPILER clang)$/d; /^set(CMAKE_CXX_COMPILER clang++)$/d' CMakeLists.txt dxbc/CMakeLists.txt || die + 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 +} + +src_install() { + insinto "/usr/share/vulkan/implicit_layer.d/" + doins "${S}/VkLayer_LS_frame_generation.json" + dolib.so "${WORKDIR}/${P}_build/liblsfg-vk.so" +} diff --git a/app-emulation/lsfg-vk/metadata.xml b/app-emulation/lsfg-vk/metadata.xml new file mode 100644 index 0000000000..65ccfa2e6f --- /dev/null +++ b/app-emulation/lsfg-vk/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Charlie Quinet</name> + <description>Username404-59</description> + </maintainer> + <upstream> + <remote-id type="github">PancakeTAS/lsfg-vk</remote-id> + </upstream> +</pkgmetadata>
