bazzite/spec_files/gamescope/gamescope.spec

137 lines
4.4 KiB
RPMSpec
Raw Normal View History

%global libliftoff_minver 0.4.1
2024-04-27 04:33:09 +00:00
%global _default_patch_fuzz 2
%global build_timestamp %(date +"%Y%m%d")
2024-07-05 16:23:03 +00:00
%global gamescope_tag 3.14.23
2024-04-27 04:33:09 +00:00
Name: gamescope
2024-04-29 03:00:00 +00:00
Version: 100.%{gamescope_tag}
Release: 11.bazzite
Summary: Micro-compositor for video games on Wayland
License: BSD
URL: https://github.com/ValveSoftware/gamescope
# Create stb.pc to satisfy dependency('stb')
2024-04-27 04:33:09 +00:00
Source0: stb.pc
# https://github.com/ChimeraOS/gamescope
2024-06-27 20:19:16 +00:00
Patch0: chimeraos.patch
# https://hhd.dev/
2024-06-27 20:19:16 +00:00
Patch1: disable-steam-touch-click-atom.patch
# https://github.com/ValveSoftware/gamescope/pull/1281
2024-06-27 20:19:16 +00:00
Patch2: deckhd.patch
# https://github.com/ValveSoftware/gamescope/issues/1398
Patch3: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch
# https://github.com/ValveSoftware/gamescope/issues/1369
2024-07-05 07:09:52 +00:00
Patch4: revert-299bc34.patch
# https://github.com/ValveSoftware/gamescope/pull/1335
Patch5: 1335.patch
# https://github.com/ValveSoftware/gamescope/pull/1231
Patch6: 1231.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glm-devel
BuildRequires: google-benchmark-devel
BuildRequires: libXmu-devel
2024-04-27 04:33:09 +00:00
BuildRequires: libXcursor-devel
BuildRequires: libeis-devel
2024-05-04 05:17:03 +00:00
BuildRequires: pixman-devel
BuildRequires: pkgconfig(libdisplay-info)
2024-05-04 05:17:03 +00:00
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(libpipewire-0.3)
2024-04-27 04:33:09 +00:00
BuildRequires: pkgconfig(libavif)
BuildRequires: (pkgconfig(wlroots) >= 0.18.0 with pkgconfig(wlroots) < 0.19.0)
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(hwdata)
2024-04-27 04:33:09 +00:00
BuildRequires: spirv-headers-devel
# Enforce the the minimum EVR to contain fixes for all of:
# CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898
# CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666
# CVE-2023-45667
BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12
# Header-only library: -static is for tracking per guidelines
BuildRequires: stb_image-static
BuildRequires: stb_image_resize-devel
BuildRequires: stb_image_resize-static
BuildRequires: stb_image_write-devel
BuildRequires: stb_image_write-static
BuildRequires: /usr/bin/glslangValidator
2024-04-27 04:33:09 +00:00
BuildRequires: libdecor-devel
BuildRequires: libXdamage-devel
BuildRequires: xorg-x11-server-Xwayland-devel
BuildRequires: git
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
Requires: xorg-x11-server-Xwayland
Requires: gamescope-libs = %{version}-%{release}
Requires: gamescope-libs(x86-32) = %{version}-%{release}
Recommends: mesa-dri-drivers
Recommends: mesa-vulkan-drivers
%description
%{name} is the micro-compositor optimized for running video games on Wayland.
2024-04-30 06:35:34 +00:00
%package libs
Summary: libs for %{name}
%description libs
%summary
%prep
git clone --depth 1 --branch %{gamescope_tag} %{url}.git
cd gamescope
git submodule update --init --recursive
mkdir -p pkgconfig
2024-04-27 04:33:09 +00:00
cp %{SOURCE0} pkgconfig/stb.pc
# Replace spirv-headers include with the system directory
sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/meson.build
%autopatch -p1
%build
cd gamescope
export PKG_CONFIG_PATH=pkgconfig
%meson -Dpipewire=enabled -Dinput_emulation=enabled -Ddrm_backend=enabled -Drt_cap=enabled -Davif_screenshots=enabled -Dsdl2_backend=enabled
%meson_build
%install
cd gamescope
%meson_install --skip-subprojects
%files
%license gamescope/LICENSE
%doc gamescope/README.md
%caps(cap_sys_nice=eip) %{_bindir}/gamescope
2024-06-27 20:32:40 +00:00
%{_bindir}/gamescopectl
%{_bindir}/gamescopestream
2024-04-30 06:35:34 +00:00
%files libs
2024-04-27 04:33:09 +00:00
%{_libdir}/libVkLayer_FROG_gamescope_wsi_*.so
%{_datadir}/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.*.json
%changelog
2024-04-30 06:35:34 +00:00
{{{ git_dir_changelog }}}