Compare commits

...

4 Commits

Author SHA1 Message Date
Cappy Ishihara 8069f85679 add back cstdint patch 2024-08-16 00:52:18 +07:00
Cappy Ishihara 1b346af4da attempt to fix gamescope-legacy on rawhide 2024-08-16 00:47:35 +07:00
Cappy Ishihara f59908b235 add: extest (#1908)
Co-authored-by: madomado <madonuko@outlook.com>
2024-08-16 00:01:44 +08:00
Owen Zimmerman 328feb84c4 fix(cros-keyboard-map): amend dependencies (#1904)
Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: madomado <madonuko@outlook.com>
2024-08-15 23:48:06 +08:00
8 changed files with 144 additions and 5 deletions
@@ -33,4 +33,4 @@ index 072d439..e4bb633 100644
#include <vector>
--
2.41.0
2.41.0
@@ -1,4 +1,8 @@
%if 0%{?fedora} >= 41
%global libliftoff_minver 0.5.0
%else
%global libliftoff_minver 0.4.1
%endif
%global reshade_commit 4245743a8c41abbe3dc73980c1810fe449359bf1
%global reshade_shortcommit %(c=%{reshade_commit}; echo ${c:0:7})
%global _default_patch_fuzz 2
@@ -22,7 +26,7 @@ Summary: Legacy builds of gamescope, a micro-compositor for video games o
Packager: Cappy Ishihara <cappy@fyralabs.com>
License: BSD
URL: https://github.com/ValveSoftware/gamescope
Source0: %{url}/archive/%{version}/gamescope-%{version}.tar.gz
# Create stb.pc to satisfy dependency('stb')
Source1: stb.pc
Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commit}/reshade-%{reshade_shortcommit}.tar.gz
@@ -35,6 +39,9 @@ Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
# ChimeraOS
Patch2: legacy-720p.patch
# System wlroots
Patch4: wlroots-pc.patch
BuildRequires: git-core
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake
@@ -64,7 +71,7 @@ BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libavif)
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18)
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
BuildRequires: (pkgconfig(libliftoff) >= %{libliftoff_minver} with pkgconfig(libliftoff) < 0.6)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(hwdata)
BuildRequires: spirv-headers-devel
@@ -96,7 +103,9 @@ Recommends: mesa-vulkan-drivers
%{name} is the micro-compositor optimized for running video games on Wayland. This is a legacy build primarily intended for use by Polaris GPUs.
%prep
%autosetup -p1 -a2 -N -n gamescope-%{version}
git clone --depth 1 --branch %{version} %{url}.git gamescope
cd gamescope
git submodule update --init --recursive
# Install stub pkgconfig file
mkdir -p pkgconfig
cp %{SOURCE1} pkgconfig/stb.pc
@@ -104,17 +113,21 @@ cp %{SOURCE1} 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
tar -xvf %{SOURCE2}
# Push in reshade from sources instead of submodule
rm -rf src/reshade && mv reshade-%{reshade_commit} src/reshade
%autopatch -p1
%build
cd gamescope
export PKG_CONFIG_PATH=pkgconfig
%meson -Dpipewire=enabled -Denable_gamescope_wsi_layer=false -Denable_openvr_support=false -Dforce_fallback_for=[]
%meson_build
%install
cd gamescope
%meson_install
# Rename to not conflict with the base package
mv %{buildroot}%{_bindir}/gamescope %{buildroot}%{_bindir}/gamescope-legacy
+8
View File
@@ -0,0 +1,8 @@
project pkg {
rpm {
spec = "rust-extest.spec"
}
labels {
multilib = 1
}
}
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash -x
EXTEST="/usr/lib/extest/libextest.so"
STEAM_DESKTOP_FILE="/usr/share/applications/steam.desktop"
if ! [ -f $STEAM_DESKTOP_FILE ]; then
echo "Could not find Steam's desktop file, is XDG_DATA_DIRS set properly?"
exit 1
fi
sed -i "s,Exec=/usr/bin/steam,Exec=env LD_PRELOAD=$EXTEST /usr/bin/steam," $STEAM_DESKTOP_FILE
echo $STEAM_DESKTOP_FILE
echo "Extest has been set up, enjoy!"
+100
View File
@@ -0,0 +1,100 @@
%global commit 79cdf2f642260d19139b071748c6f8d48a1dff10
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240712
# While there's an upstream version at Supreeeme/extest, we're using
# the same fork as Bazzite so we can use the same patches.
# This fork has no tags so we're gonna use the commit hash as the version
# Don't mangle shebangs
%global __brp_mangle_shebangs %{nil}
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
# Use Mold as the linker
%global build_rustflags %build_rustflags -C link-arg=-fuse-ld=mold
Name: extest
Version: %commit_date.git~%{shortcommit}
Release: %autorelease
Summary: X11 XTEST reimplementation primarily for Steam Controller on Wayland
License: MIT
URL: https://github.com/KyleGospo/extest
Source0: %{url}/archive/%{commit}.tar.gz
# While the upstream project has the same script, it copies the Steam desktop shortcut to
# $HOME and modifies it there. The following inline script modifies the global Steam
# desktop shortcut to load Extest for all users.
Source1: override_steam_desktop_file.sh
Packager: Cappy Ishihara <cappy@fyralabs.com>
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros
BuildRequires: openssl-devel
BuildRequires: gcc
BuildRequires: perl
BuildRequires: rust-packaging
BuildRequires: systemd-rpm-macros
BuildRequires: clang
BuildRequires: mold
Recommends: %{name}-steam
%ifarch x86_64
Recommends: %{name}.i686
%endif
%description
Extest is a drop in replacement for the X11 XTEST extension. It creates a virtual device with the uinput kernel module. It's been primarily developed for allowing the desktop functionality on the Steam Controller to work while Steam is open on Wayland.
# Subpackage for dynamically patching Steam's scripts
%package steam
BuildArch: noarch
Summary: Extest subpackage that patches Steam's scripts to load Extest
%description steam
This subpackage contains scripts that patch Steam's scripts to load Extest. This is necessary for Extest to work with Steam on Wayland.
# If on x86_64, require the i686 version of the package
%ifarch x86_64
Requires: %{name}.i686
%else
Requires: %{name}
%endif
%prep
%autosetup -n %{name}-%{commit}
%cargo_prep_online
%build
%cargo_build
%install
%cargo_install
mkdir -p %{buildroot}%{_libdir}/extest/
install -D -p -m0755 target/rpm/libextest.so %{buildroot}%{_libdir}/extest/libextest.so
mkdir -p %{buildroot}%{_libexecdir}/extest/
install -D -p -m 0755 %{SOURCE1} %{buildroot}%{_libexecdir}/extest/override_steam_desktop_file.sh
# Trigger on Steam install for steam subpackage
%triggerin -n %{name}-steam -- steam
%{_libexecdir}/extest/override_steam_desktop_file.sh
%files
%license LICENSE
%doc README.md
%{_libdir}/extest/libextest.so
%files steam
%{_libexecdir}/extest/override_steam_desktop_file.sh
%changelog
%autochangelog
+5
View File
@@ -0,0 +1,5 @@
rpm.global("commit", gh_commit("KyleGospo/extest"));
if rpm.changed() {
rpm.global("commit_date", date());
rpm.release();
}
@@ -15,7 +15,7 @@ Source0: https://github.com/WeirdTreeThing/cros-keyboard-map/archive/%com
%{?systemd_requires}
BuildRequires: systemd-rpm-macros
Requires: keyd python3
Requires: keyd python3 python3-libfdt
%description
Set of tools designed to help develop and debug software and firmware on Intel platforms with AudioDSP onboard.