%global build_version 2025.122.141614 %global branch master %global commit 64544e7960f5141f71438d72e5dedad81c03729c Name: Sunshine Version: %{build_version} Release: 1%{?dist} Summary: Self-hosted game stream host for Moonlight License: GPLv3-only URL: https://github.com/LizardByte/Sunshine Source0: https://github.com/LizardByte/Sunshine/archive/%{commit}/Sunshine-%{commit}.tar.gz # Enable CUDA only on supported architectures %define with_cuda 0%{!?_without_cuda:1} %ifarch x86_64 aarch64 %define cuda_supported 1 %else %define cuda_supported 0 %endif # Base Build Requirements BuildRequires: cmake >= 3.25.0 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: git BuildRequires: make BuildRequires: rpm-build # Graphics/Display Dependencies BuildRequires: libX11-devel BuildRequires: libXfixes-devel BuildRequires: libXrandr-devel BuildRequires: libXtst-devel BuildRequires: libva-devel BuildRequires: mesa-libGL-devel # System Dependencies BuildRequires: libcap-devel BuildRequires: libcurl-devel BuildRequires: libevdev-devel BuildRequires: numactl-devel BuildRequires: openssl-devel BuildRequires: pulseaudio-libs-devel BuildRequires: systemd-devel # UI Dependencies BuildRequires: libayatana-appindicator3-devel BuildRequires: libnotify-devel # Web/Networking BuildRequires: miniupnpc-devel BuildRequires: opus-devel # NodeJS for web interface BuildRequires: nodejs BuildRequires: npm # Conditional CUDA Support %if %{with_cuda} && %{cuda_supported} BuildRequires: cuda-gcc %endif # Runtime Dependencies Requires: libcap >= 2.22 Requires: libcurl >= 7.0 Requires: libevdev >= 1.5.6 Requires: libva >= 2.14.0 Requires: pulseaudio-libs >= 10.0 Requires: libayatana-appindicator3 >= 0.5.3 %description Self-hosted game stream host for Moonlight. %prep %autosetup -n Sunshine-%{commit} -S git %build # Basic CMake configuration %cmake \ -DBUILD_DOCS=OFF \ -DBUILD_WERROR=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DSUNSHINE_ASSETS_DIR=%{_datadir}/sunshine \ -DSUNSHINE_ENABLE_WAYLAND=ON \ -DSUNSHINE_ENABLE_X11=ON \ -DSUNSHINE_ENABLE_DRM=ON # Conditional CUDA support %if %{with_cuda} && %{cuda_supported} %cmake -DSUNSHINE_ENABLE_CUDA=ON %endif %make_build %install %make_install # Install systemd units install -D -m 0644 %{_builddir}/Sunshine-%{commit}/assets/sunshine.service \ %{buildroot}%{_unitdir}/sunshine.service # Install udev rules install -D -m 0644 %{_builddir}/Sunshine-%{commit}/assets/85-sunshine.rules \ %{buildroot}%{_udevrulesdir}/85-sunshine.rules %files %license LICENSE %{_bindir}/sunshine %{_bindir}/sunshine-* %{_unitdir}/sunshine.service %{_udevrulesdir}/85-sunshine.rules %{_datadir}/sunshine/ %{_datadir}/applications/sunshine.desktop %{_datadir}/icons/hicolor/*/apps/sunshine.png %changelog * Wed Jun 26 2024 Your Name - 2025.122.141614-1 - Initial package for Fedora Copr - Added conditional CUDA support - Fixed build dependencies