-
Notifications
You must be signed in to change notification settings - Fork 0
/
steam.spec
292 lines (227 loc) · 10.4 KB
/
steam.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
# Binary package, no debuginfo should be generated
%global debug_package %{nil}
%global appstream_id com.valvesoftware.Steam
Name: steam
Version: 1.0.0.82
Release: 1%{?dist}
Summary: Installer for the Steam software distribution service
# Redistribution and repackaging for Linux is allowed, see license file. udev rules are MIT.
License: Steam License Agreement and MIT
URL: http://www.steampowered.com/
ExclusiveArch: i686
Source0: https://repo.steampowered.com/%{name}/archive/beta/%{name}_%{version}.tar.gz
Source1: %{name}.sh
Source2: %{name}.csh
Source5: README.Fedora
# Ghost touches in Big Picture mode:
# https://github.com/ValveSoftware/steam-for-linux/issues/3384
# https://bugzilla.kernel.org/show_bug.cgi?id=28912
# https://github.com/denilsonsa/udev-joystick-blacklist
# https://github.com/systemd/systemd/issues/32773
# Input devices seen as joysticks:
Source6: 61-these-are-not-joystick.hwdb
# Configure limits in systemd
Source7: 01-steam.conf
# Newer udev rules than what is bundled in the tarball
Source8: https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-input.rules
Source9: https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-vr.rules
# Do not install desktop file in lib/steam, do not install apt sources
Patch0: %{name}-makefile.patch
# Do not try to copy steam.desktop to the user's desktop from lib/steam
Patch1: %{name}-no-icon-on-desktop.patch
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
BuildRequires: make
BuildRequires: systemd
# Required to run the initial setup
Requires: tar
Requires: zenity
# Most games use OpenGL, some games already use Vulkan. Vulkan is also required
# for Steam Play to run Windows games through emulation. i686 version of these
# packages are necessary even on x86_64 systems for running 32bit games. Pull in
# native arch drivers as well, by not specifying _isa macro, native arch
# packages are preferred. This will make sure people have all necessary drivers
# for both i686 and x86_64 games.
Requires: mesa-dri-drivers%{?_isa}
Requires: mesa-dri-drivers
Requires: mesa-vulkan-drivers%{?_isa}
Requires: mesa-vulkan-drivers
Requires: vulkan-loader%{?_isa}
Requires: vulkan-loader
# Minimum requirements for starting the steam client using system libraries
Requires: alsa-lib%{?_isa}
Requires: fontconfig%{?_isa}
Requires: gtk2%{?_isa}
Requires: libICE%{?_isa}
Requires: libnsl%{?_isa}
Requires: libpng%{?_isa}
Requires: libXext%{?_isa}
Requires: libXinerama%{?_isa}
Requires: libXtst%{?_isa}
Requires: libXScrnSaver%{?_isa}
Requires: mesa-libGL%{?_isa}
Requires: mesa-libEGL%{?_isa}
Requires: NetworkManager-libnm%{?_isa}
Requires: nss%{?_isa}
Requires: pulseaudio-libs%{?_isa}
# Required for sending out crash reports to Valve
Requires: libcurl%{?_isa}
# Workaround for mesa-libGL dependency bug:
# https://bugzilla.redhat.com/show_bug.cgi?id=1168475
Requires: systemd-libs%{?_isa}
# Required for the firewall rules
# http://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets/Firewalld
Requires: firewalld-filesystem
Requires(post): firewalld-filesystem
# Required for hardware encoding/decoding during Remote Play (intel/radeon/amdgpu/nouveau)
Requires: libva%{?_isa}
Requires: libvdpau%{?_isa}
# Required by Feral interactive games
Requires: libatomic%{?_isa}
# Required by Shank
Requires: (alsa-plugins-pulseaudio%{?_isa} if pulseaudio)
Requires: (pipewire-alsa%{?_isa} if pipewire)
# Patched for Wayland
# https://github.com/ValveSoftware/steam-for-linux/issues/8853
# https://github.com/negativo17/steam/issues/9
%if 0%{?fedora} >= 40
Requires: SDL2%{?_isa}
%endif
# Game performance is increased with gamemode (for games that support it)
Recommends: gamemode
Recommends: gamemode%{?_isa}
Recommends: (gnome-shell-extension-appindicator if gnome-shell)
# Proton uses xdg-desktop-portal to open URLs from inside a container
Requires: xdg-desktop-portal
Recommends: (xdg-desktop-portal-gtk if gnome-shell)
Recommends: (xdg-desktop-portal-kde if kwin)
# Prevent log spam when thse are not pulled in as dependencies of full desktops
Recommends: dbus-x11
Recommends: xdg-user-dirs
# Allow using Steam Runtime Launch Options
Recommends: gobject-introspection
Requires: steam-devices = %{?epoch:%{epoch}:}%{version}-%{release}
%description
Steam is a software distribution service with an online store, automated
installation, automatic updates, achievements, SteamCloud synchronized savegame
and screenshot functionality, and many social features.
This package contains the installer for the Steam software distribution service.
%package devices
Summary: Permissions required by Steam for gaming devices
BuildArch: noarch
Provides: steam-devices = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: steam-devices < %{?epoch:%{epoch}:}%{version}-%{release}
%description devices
Steam is a software distribution service with an online store, automated
installation, automatic updates, achievements, SteamCloud synchronized savegame
and screenshot functionality, and many social features.
This package contains the necessary permissions for gaming devices.
%prep
%autosetup -p1 -n %{name}-launcher
cp %{SOURCE5} .
%build
# Nothing to build
%install
%make_install
rm -fr %{buildroot}%{_docdir}/%{name}/ \
%{buildroot}%{_bindir}/%{name}deps
mkdir -p %{buildroot}%{_udevhwdbdir}/
install -m 644 -p %{SOURCE6} %{buildroot}%{_udevhwdbdir}/
mkdir -p %{buildroot}%{_udevrulesdir}/
install -m 644 -p %{SOURCE8} %{SOURCE9} %{buildroot}%{_udevrulesdir}/
# Environment files
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
install -pm 644 %{SOURCE1} %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d
# Raise file descriptor limit
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system.conf.d/
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user.conf.d/
install -m 644 -p %{SOURCE7} %{buildroot}%{_prefix}/lib/systemd/system.conf.d/
install -m 644 -p %{SOURCE7} %{buildroot}%{_prefix}/lib/systemd/user.conf.d/
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{appstream_id}.metainfo.xml
%files
%license COPYING steam_subscriber_agreement.txt
%doc debian/changelog README.Fedora
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/pixmaps/%{name}_tray_mono.png
%{_libdir}/%{name}/
%{_mandir}/man6/%{name}.*
%{_metainfodir}/%{appstream_id}.metainfo.xml
%config(noreplace) %{_sysconfdir}/profile.d/%{name}.*sh
%dir %{_prefix}/lib/systemd/system.conf.d/
%{_prefix}/lib/systemd/system.conf.d/01-steam.conf
%dir %{_prefix}/lib/systemd/user.conf.d/
%{_prefix}/lib/systemd/user.conf.d/01-steam.conf
%files devices
%{_udevhwdbdir}/*
%{_udevrulesdir}/*
%changelog
* Mon Nov 04 2024 Simone Caronni <[email protected]> - 1.0.0.82-1
- Update to 1.0.0.82.
* Sun Sep 01 2024 Simone Caronni <[email protected]> - 1.0.0.81-1
- Update to 1.0.0.81.
* Mon Aug 05 2024 Simone Caronni <[email protected]> - 1.0.0.79-6
- Fix for #9 (thanks zeroepoch).
* Mon Jun 24 2024 Simone Caronni <[email protected]> - 1.0.0.79-5
- Update udev rules.
- Convert udev rule for blocking wrong joystick devices to a systemd hwdb file:
https://github.com/denilsonsa/udev-joystick-blacklist/issues/58
* Mon Jun 24 2024 Simone Caronni <[email protected]> - 1.0.0.79-4
- Add dependencies when full desktop is not installed.
- Add dependencies for using steam-runtime-launch-options.
* Tue Mar 19 2024 Simone Caronni <[email protected]> - 1.0.0.79-3
- Adjust requirements.
* Sun Feb 18 2024 Simone Caronni <[email protected]> - 1.0.0.79-2
- Do not recommend gnome-shell-extension-gamemode.
* Mon Feb 12 2024 Simone Caronni <[email protected]> - 1.0.0.79-1
- Update to 1.0.0.79.
* Mon Jan 22 2024 Simone Caronni <[email protected]> - 1.0.0.78-2
- Update udev rules.
* Thu May 11 2023 Simone Caronni <[email protected]> - 1.0.0.78-1
- Update to 1.0.0.78.
* Tue Mar 07 2023 Simone Caronni <[email protected]> - 1.0.0.76-1
- Update to 1.0.0.76.
- Separate SPEC file per distribution.
- Trim changelog.
* Fri Jul 22 2022 Simone Caronni <[email protected]> - 1.0.0.75-1
- Update to 1.0.0.75.
* Fri Feb 04 2022 Simone Caronni <[email protected]> - 1.0.0.74-2
- Add gnome-shell-extension-appindicator if running on Gnome (#6194).
- Require libICE to avoid spamming the console. It's installed by default on a
Gnome installation but not explicitly required (#6195).
* Fri Dec 10 2021 Simone Caronni <[email protected]> - 1.0.0.74-1
- Update to 1.0.0.74.
* Sat Nov 20 2021 Simone Caronni <[email protected]> - 1.0.0.73-1
- Update to 1.0.0.73.
* Sat Oct 09 2021 Simone Caronni <[email protected]> - 1.0.0.72-1
- Update to 1.0.0.72.
* Fri Aug 27 2021 Simone Caronni <[email protected]> - 1.0.0.71-4
- Remove old noruntime provide/obsolete.
- Remove VA-API driver dependencies for RHEL/CentOS 7 and update relevant
information.
- Remove not really relevant information about controllers from the readme.
- Update steam-devices.
* Sun Aug 15 2021 Simone Caronni <[email protected]> - 1.0.0.71-2
- Steam UDEV subpackage should be noarch.
* Sun Aug 15 2021 Simone Caronni <[email protected]> - 1.0.0.71-1
- Update to 1.0.0.71.
- Update README.Fedora with supported controllers.
- Use bundled AppData.
* Wed Aug 04 2021 RPM Fusion Release Engineering <[email protected]> - 1.0.0.70-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 30 2021 Simone Caronni <[email protected]> - 1.0.0.70-4
- Separate udev rules in separate subpackage to be used also by Valve's Flatpak
Steam client.
- Use upstream's udev rules as those are newer than what is bundled in the
installer tarball.
* Mon Apr 12 2021 Simone Caronni <[email protected]> - 1.0.0.70-2
- Remove new desktop entry specification for Fedora 32 and RHEL/CentOS 7/8.
* Mon Apr 12 2021 Simone Caronni <[email protected]> - 1.0.0.70-1
- Update to 1.0.0.70.
- Switch to tarball provided steam-devices udev rules.
* Thu Feb 04 2021 RPM Fusion Release Engineering <[email protected]> - 1.0.0.68-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild