%define major 0 %define libname %mklibname %{name} %{major} %define devname %mklibname %{name} -d # See note in %%files, we need to ship .so in lib package %define __requires_exclude_from ^%{_libdir}/libgamemode\\.so$ Name: gamemode Version: 1.4 Release: %mkrel 1 Summary: Optimise Linux system performance for games on demand Group: System/Configuration License: BSD URL: https://github.com/FeralInteractive/gamemode Source0: https://github.com/FeralInteractive/gamemode/releases/download/%{version}/%{name}-%{version}.tar.xz BuildRequires: meson BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(libsystemd) Requires: %{libname} = %{version}-%{release} %description GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS. GameMode was designed primarily as a stop-gap solution to problems with the Intel and AMD CPU powersave or ondemand governors, but is now host to a range of optimisation features and configurations. Currently GameMode includes support for optimisations including: - CPU governor - I/O priority - Process niceness - Kernel scheduler (SCHED_ISO) - Screensaver inhibiting - GPU performance mode (NVIDIA and AMD), GPU overclocking (NVIDIA) - Custom scripts %package -n %{libname} Summary: Library files for GameMode Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n %{libname} Library files for GameMode. %package -n %{devname} Summary: Development headers and libraries for GameMode Group: Development/C Requires: %{libname} = %{version}-%{release} # See note in %%files, we need to ship .so in lib package Requires: pkgconfig(libsystemd) %description -n %{devname} Development headers and libraries for GameMode. %prep %autosetup -p1 %build %meson %meson_build %install %meson_install %files %license LICENSE.txt %doc README.md example/%{name}.ini %{_bindir}/%{name}d %{_bindir}/%{name}run %{_datadir}/dbus-1/services/com.feralinteractive.GameMode.service %{_datadir}/polkit-1/actions/com.feralinteractive.GameMode.policy %{_libexecdir}/cpugovctl %{_libexecdir}/gpuclockctl %{_mandir}/man8/%{name}d.8* %{_userunitdir}/%{name}d.service %files -n %{libname} # .so needs to be here because early Feral games depending on GameMode # did not dlopen() the versioned one. # See https://bugzilla.redhat.com/show_bug.cgi?id=1694938 %{_libdir}/lib%{name}.so %{_libdir}/lib%{name}.so.%{major}{,.*} %{_libdir}/lib%{name}auto.so.%{major}{,.*} %files -n %{devname} %{_includedir}/%{name}_client.h %{_libdir}/lib%{name}auto.so %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}-auto.pc %changelog * Sun Jul 21 2019 akien <akien> 1.4-1.mga7 + Revision: 1423332 - Version 1.4 * Sun Apr 21 2019 akien <akien> 1.3.1-3.mga7 + Revision: 1394581 - We need to ship libgamemode.so in main lib package, some games try to dlopen it (rhbz#1694938) * Wed Apr 17 2019 umeabot <umeabot> 1.3.1-2.mga7 + Revision: 1392193 - Rebuild with meson 0.50.1 * Thu Apr 11 2019 akien <akien> 1.3.1-1.mga7 + Revision: 1388327 - imported package gamemode