%global _default_patch_fuzz 2 %global commitdate 20260107 %global commit d33313ec2055d84b9c9322704caa16e43f3a4cbf %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define _disable_source_fetch 0 Name: scx_cake-git Version: 1.0.0.%{commitdate}.git.%{shortcommit} Release: 1%{?dist} Summary: Experimental BPF CPU Scheduler Designed for Gaming Workloads License: GPL=2.0 URL: https://github.com/RitzDaCat/scx_cake Source0: %{URL}/archive/%{commit}/scx_cake-%{commit}.tar.gz BuildRequires: gcc BuildRequires: git BuildRequires: python BuildRequires: cargo BuildRequires: rust BuildRequires: clang >= 17 BuildRequires: llvm >= 17 BuildRequires: lld >= 17 BuildRequires: elfutils-libelf BuildRequires: elfutils-libelf-devel BuildRequires: zlib BuildRequires: jq BuildRequires: jq-devel BuildRequires: systemd BuildRequires: bpftool BuildRequires: protobuf-compiler BuildRequires: libseccomp-devel Requires: elfutils-libelf Requires: libseccomp Requires: protobuf Requires: zlib Requires: jq Requires: scx-tools Provides: scx_cake = %{version} %description scx_cake is an experimental BPF CPU scheduler designed for gaming workloads. It abandons traditional "Fairness" in favor of strict "Latency Prioritization". %prep %autosetup -p1 -n scx_cake-%{commit} %build export CARGO_HOME=%{_builddir}/.cargo cargo fetch cargo build --release --offline --all-features --workspace %install # Install all built executables (skip .so and .d files) find target/release \ -maxdepth 1 -type f -executable ! -name '*.so' ! -name 'xtask' \ -exec install -Dm755 -t %{buildroot}%{_bindir} {} + %files # Binaries %{_bindir}/*