%global toolchain clang %global tag 2.0.0~dev %global date %(date +%Y%m%d) %global commit 14904b9 %global longcommit 14904b9f3d78aea692bff0d330ce403ae0e74766 Name: lsfg-vk Version: %{tag} Release: 1.%{date}git%{commit}%{?dist} Summary: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan. # SPDX License: MIT URL: https://github.com/PancakeTAS/lsfg-vk BuildRequires: clang BuildRequires: llvm BuildRequires: cmake BuildRequires: cmake-rpm-macros BuildRequires: ninja-build BuildRequires: git BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(SPIRV-Headers) BuildRequires: vulkan-headers BuildRequires: pkgconfig(wayland-client) >= 0.2.7 BuildRequires: pkgconfig(wayland-cursor) >= 0.2.7 BuildRequires: pkgconfig(wayland-egl) >= 0.2.7 BuildRequires: pkgconfig(xkbcommon) >= 0.5.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(wayland-protocols) # UI dependencies BuildRequires: pkgconfig(Qt6Core) BuildRequires: pkgconfig(Qt6Quick) Recommends: mesa-dri-drivers Recommends: mesa-vulkan-drivers Recommends: lsfg-vk-ui Requires: %{name}-libs = %{version}-%{release} %description The %{name} package provides Lossless Scaling Frame Generation on Linux via DXVK/Vulkan. %prep git clone --single-branch --branch develop https://github.com/PancakeTAS/lsfg-vk cd lsfg-vk git checkout %{longcommit} git submodule update --init --recursive %build cd lsfg-vk %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DLSFGVK_BUILD_UI=ON \ -DLSFGVK_INSTALL_XDG_FILES=ON \ -DLSFGVK_BUILD_CLI=ON %cmake_build %install cd lsfg-vk %cmake_install %files %license lsfg-vk/LICENSE.md # Vulkan Layer JSON Manifest %{_datadir}/vulkan/implicit_layer.d/VkLayer_LSFGVK_frame_generation.json # Command Line Interface (CLI) Tool %{_bindir}/lsfg-vk-cli %package libs Summary: lsfg-vk libraries %description libs %summary %files libs # Main Shared Object Library for the Layer %{_libdir}/liblsfg-vk-layer.so %package ui Summary: C++/Qt-based GUI for modifying lsfg-vk configuration Requires: %{name} = %{version}-%{release} %description ui This package provides the GUI for modifying configuration of lsfg-vk. %files ui # UI Executable %{_bindir}/lsfg-vk-ui # Desktop Entry %{_datadir}/applications/gay.pancake.lsfg-vk-ui.desktop # Application Icon %{_datadir}/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png %changelog %autochangelog