]>
Commit | Line | Data |
---|---|---|
2b14e59b | 1 | # TODO |
17fdb673 | 2 | # - should -libs Require main package? |
8a7af30b | 3 | # - drop binary-only nvidia-settings from here, and use nvidia-settings.spec for it? |
0dbede64 | 4 | # - kernel-drm is required on never kernels. driver for kernel-longterm not requires drm |
28142503 PS |
5 | # |
6 | # Conditional build: | |
538b2e0c | 7 | %bcond_with glvnd # with GL vendor neutral libs |
75de51d2 | 8 | %bcond_without system_libglvnd # do not use system libglvnd |
bf683e7a | 9 | %bcond_without kernel # without kernel packages |
1820d34b | 10 | %bcond_without userspace # don't build userspace programs |
5da85237 | 11 | %bcond_with settings # package nvidia-settings here (GPL version of same packaged from nvidia-settings.spec) |
a14b5013 | 12 | %bcond_with verbose # verbose build (V=1) |
13 | ||
e4947020 JR |
14 | # The goal here is to have main, userspace, package built once with |
15 | # simple release number, and only rebuild kernel packages with kernel | |
16 | # version as part of release number, without the need to bump release | |
17 | # with every kernel change. | |
18 | %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace} | |
19 | %{error:kernel and userspace cannot be built at the same time on PLD builders} | |
20 | exit 1 | |
21 | %endif | |
22 | ||
8d2b2a19 JP |
23 | %if %{with glvnd} |
24 | %define vulkan_lib libGLX_nvidia.so.0 | |
25 | %else | |
26 | %define vulkan_lib libGL.so.1 | |
27 | %endif | |
28 | ||
c543fa7c ER |
29 | %if %{without userspace} |
30 | # nothing to be placed to debuginfo package | |
31 | %define _enable_debug_packages 0 | |
32 | %endif | |
e4947020 | 33 | |
7cbecde6 | 34 | %define no_install_post_check_so 1 |
c5bb5957 | 35 | |
6815966e | 36 | %define rel 1 |
f3bf0f30 | 37 | %define pname xorg-driver-video-nvidia |
974295b8 | 38 | Summary: Linux Drivers for nVidia GeForce/Quadro Chips |
754fc4fe | 39 | Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez |
974295b8 | 40 | Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro |
e4947020 | 41 | Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} |
8a7af30b | 42 | # when updating version here, keep nvidia-settings.spec in sync as well |
f70a88c0 | 43 | Version: 415.22 |
e4947020 | 44 | Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} |
d7c1ffa0 | 45 | Epoch: 1 |
28142503 | 46 | License: nVidia Binary |
4a185d32 | 47 | Group: X11 |
7f0cefc2 | 48 | Source0: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run |
f70a88c0 | 49 | # Source0-md5: e820512d0f02c2fe81c452612413adb7 |
a14b5013 | 50 | Source2: %{pname}-xinitrc.sh |
236b5374 | 51 | Source3: gl.pc.in |
cd436d42 JR |
52 | Source4: 10-nvidia.conf |
53 | Source5: 10-nvidia-modules.conf | |
117b7720 | 54 | Patch0: X11-driver-nvidia-desktop.patch |
f517f625 | 55 | URL: http://www.nvidia.com/object/unix.html |
fb27eb94 | 56 | BuildRequires: rpmbuild(macros) >= 1.701 |
f1773542 | 57 | %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.32}} |
039c7221 | 58 | BuildRequires: sed >= 4.0 |
0ed6aeef | 59 | BuildConflicts: XFree86-nvidia |
0703c7e8 | 60 | Requires: %{pname}-libs = %{epoch}:%{version}-%{rel} |
8343d24d | 61 | Requires: xorg-xserver-server |
7f0cefc2 | 62 | Requires: xorg-xserver-server(videodrv-abi) <= 24.0 |
f1773542 | 63 | Requires: xorg-xserver-server(videodrv-abi) >= 4.0 |
857c0a69 JP |
64 | Provides: ocl-icd(nvidia) |
65 | Provides: ocl-icd-driver | |
f70a88c0 | 66 | Provides: vulkan(icd) = 1.1.84 |
f3bf0f30 | 67 | Provides: xorg-driver-video |
4e3e8de1 | 68 | Provides: xorg-xserver-module(glx) |
2d490dca | 69 | Obsoletes: XFree86-driver-nvidia |
28142503 PS |
70 | Obsoletes: XFree86-nvidia |
71 | Conflicts: XFree86-OpenGL-devel <= 4.2.0-3 | |
c202a266 | 72 | ExclusiveArch: %{?with_userspace:%{ix86}} %{x8664} |
b67880c3 | 73 | BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n) |
28142503 | 74 | |
04ec5f0a JR |
75 | %define _noautoreqdep libGL.so.1 libnvcuvid.so |
76 | # libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1 | |
77 | %define _noautoreq libnvcuvid.so | |
28142503 PS |
78 | |
79 | %description | |
974295b8 JB |
80 | This driver set adds improved 2D functionality to the Xorg X server as |
81 | well as high performance OpenGL acceleration, AGP support, support for | |
82 | most flat panels, and 2D multiple monitor support. Supported hardware: | |
83 | modern NVIDIA GeForce (from GeForce2 MX) and Quadro (Quadro4 and up) | |
84 | based graphics accelerators. | |
28142503 | 85 | |
974295b8 JB |
86 | The older graphics chips are unsupported: |
87 | - NV1 and RIVA 128/128ZX chips are supported in the base Xorg install | |
88 | (nv driver) | |
89 | - TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 are suported by -legacy | |
90 | drivers. | |
28142503 | 91 | |
754fc4fe ZU |
92 | %description -l hu.UTF-8 |
93 | Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL | |
94 | gyorsítással, AGP támogatással és támogatja a több monitort. | |
95 | Támogatott hardverek: modern NVIDIA GeForce (GeForce2 MX-től) és | |
96 | Quadro (Quadro4 és újabbak) alapú grafikai gyorsítók. | |
97 | ||
98 | A régekbbi grafikus chipek nem támogatottak: | |
99 | - NV1 és RIVA 128/128ZX chipek az alap Xorg telepítéssel (nv meghajtó) | |
100 | - TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 a -legacy driverekkel | |
101 | támogatottak. | |
102 | ||
c311612f | 103 | %description -l pl.UTF-8 |
974295b8 JB |
104 | Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg, |
105 | dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów | |
106 | 2D. Obsługują w miarę nowe karty NVIDIA GeForce (od wersji GeForce2 | |
107 | MX) oraz Quadro (od wersji Quadro4). | |
28142503 | 108 | |
974295b8 JB |
109 | Starsze układy graficzne nie są obsługiwane przez ten pakiet: |
110 | - NV1 i RIVA 128/128ZX są obsługiwane przez sterownik nv z Xorg | |
111 | - TNT/TNT2/GeForce 256/GeForce 2 Ultra/Quadro 2 są obsługiwane przez | |
112 | sterowniki -legacy | |
28142503 | 113 | |
17fdb673 JR |
114 | %package libs |
115 | Summary: OpenGL (GL and GLX) Nvidia libraries | |
116 | Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia | |
117 | Group: X11/Development/Libraries | |
f3b8319b | 118 | Requires(post,postun): /sbin/ldconfig |
75de51d2 | 119 | %if %{with glvnd} && %{with system_libglvnd} |
538b2e0c JP |
120 | Requires: libglvnd |
121 | Requires: libglvnd-libGL | |
122 | Requires: libglvnd-libGLES | |
123 | %endif | |
76db0ca8 | 124 | Requires: libvdpau >= 0.3 |
ba4c5c19 | 125 | Provides: OpenGL = 3.3 |
17fdb673 | 126 | Provides: OpenGL-GLX = 1.4 |
17fdb673 JR |
127 | Obsoletes: X11-OpenGL-core < 1:7.0.0 |
128 | Obsoletes: X11-OpenGL-libGL < 1:7.0.0 | |
129 | Obsoletes: XFree86-OpenGL-core < 1:7.0.0 | |
130 | Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0 | |
17fdb673 | 131 | |
4c842b35 | 132 | %description libs |
17fdb673 JR |
133 | NVIDIA OpenGL (GL and GLX only) implementation libraries. |
134 | ||
4c842b35 | 135 | %description libs -l pl.UTF-8 |
17fdb673 JR |
136 | Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA. |
137 | ||
28142503 | 138 | %package devel |
63c6d4b1 | 139 | Summary: OpenGL (GL and GLX) header files |
754fc4fe | 140 | Summary(hu.UTF-8): OpenGL (GL és GLX) fejléc fájlok |
63c6d4b1 | 141 | Summary(pl.UTF-8): Pliki nagłówkowe OpenGL (GL i GLX) |
28142503 | 142 | Group: X11/Development/Libraries |
0703c7e8 | 143 | Requires: %{pname}-libs = %{epoch}:%{version}-%{rel} |
63c6d4b1 | 144 | Provides: OpenGL-GLX-devel = 1.4 |
1b8b7646 | 145 | Provides: OpenGL-devel = 2.1 |
63c6d4b1 JB |
146 | Obsoletes: X11-OpenGL-devel-base |
147 | Obsoletes: XFree86-OpenGL-devel-base | |
2d490dca | 148 | Obsoletes: XFree86-driver-nvidia-devel |
28142503 PS |
149 | Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3 |
150 | ||
151 | %description devel | |
63c6d4b1 JB |
152 | OpenGL header files (GL and GLX only) for NVIDIA OpenGL |
153 | implementation. | |
28142503 | 154 | |
754fc4fe ZU |
155 | %description devel -l hu.UTF-8 |
156 | OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz. | |
157 | ||
c311612f | 158 | %description devel -l pl.UTF-8 |
63c6d4b1 JB |
159 | Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL |
160 | firmy NVIDIA. | |
161 | ||
a9160796 ER |
162 | %package doc |
163 | Summary: Documentation for NVIDIA Graphics Driver | |
164 | Group: Documentation | |
fd356b88 ER |
165 | %if "%{_rpmversion}" >= "5" |
166 | BuildArch: noarch | |
167 | %endif | |
a9160796 ER |
168 | |
169 | %description doc | |
170 | NVIDIA Accelerated Linux Graphics Driver README and Installation | |
171 | Guide. | |
172 | ||
28142503 PS |
173 | %package progs |
174 | Summary: Tools for advanced control of nVidia graphic cards | |
754fc4fe | 175 | Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához |
b37addd9 | 176 | Summary(pl.UTF-8): Narzędzia do zarządzania kartami graficznymi nVidia |
f12e8b24 | 177 | Group: Applications/System |
0056ee0e | 178 | Requires: %{pname} = %{epoch}:%{version} |
c29343e3 | 179 | Suggests: pkgconfig |
c064a147 | 180 | Obsoletes: XFree86-driver-nvidia-progs |
28142503 PS |
181 | |
182 | %description progs | |
183 | Tools for advanced control of nVidia graphic cards. | |
184 | ||
754fc4fe ZU |
185 | %description progs -l hu.UTF-8 |
186 | Eszközök az nVidia grafikus kártyák beállításához. | |
187 | ||
c311612f JR |
188 | %description progs -l pl.UTF-8 |
189 | Narzędzia do zarządzania kartami graficznymi nVidia. | |
28142503 | 190 | |
d626b139 | 191 | %ifarch %{x8664} |
e4947020 JR |
192 | %define kernel_pkg()\ |
193 | %package -n kernel%{_alt_kernel}-video-nvidia\ | |
194 | Summary: nVidia kernel module for nVidia Architecture support\ | |
195 | Summary(de.UTF-8): Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung\ | |
196 | Summary(hu.UTF-8): nVidia Architektúra támogatás Linux kernelhez.\ | |
197 | Summary(pl.UTF-8): Moduł jądra dla obsługi kart graficznych nVidia\ | |
198 | Release: %{rel}@%{_kernel_ver_str}\ | |
199 | Group: Base/Kernel\ | |
200 | Requires(post,postun): /sbin/depmod\ | |
201 | Requires: dev >= 2.7.7-10\ | |
e4947020 JR |
202 | %requires_releq_kernel\ |
203 | %if %{_kernel_version_code} >= %{_kernel_version_magic 3 10 0}\ | |
204 | Requires: %{releq_kernel -n drm}\ | |
205 | %endif\ | |
206 | Requires(postun): %releq_kernel\ | |
e4947020 JR |
207 | Requires: %{pname} = %{epoch}:%{version}\ |
208 | Provides: X11-driver-nvidia(kernel)\ | |
209 | Obsoletes: XFree86-nvidia-kernel\ | |
210 | \ | |
211 | %description -n kernel%{_alt_kernel}-video-nvidia\ | |
212 | nVidia Architecture support for Linux kernel.\ | |
213 | \ | |
214 | %description -n kernel%{_alt_kernel}-video-nvidia -l de.UTF-8\ | |
215 | Die nVidia-Architektur-Unterstützung für den Linux-Kern.\ | |
216 | \ | |
217 | %description -n kernel%{_alt_kernel}-video-nvidia -l hu.UTF-8\ | |
218 | nVidia Architektúra támogatás Linux kernelhez.\ | |
219 | \ | |
220 | %description -n kernel%{_alt_kernel}-video-nvidia -l pl.UTF-8\ | |
221 | Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez\ | |
222 | sterownik nVidii dla Xorg/XFree86.\ | |
223 | \ | |
224 | %if %{with kernel}\ | |
225 | %files -n kernel%{_alt_kernel}-video-nvidia\ | |
226 | %defattr(644,root,root,755)\ | |
227 | /lib/modules/%{_kernel_ver}/misc/*.ko*\ | |
228 | %endif\ | |
229 | \ | |
230 | %post -n kernel%{_alt_kernel}-video-nvidia\ | |
231 | %depmod %{_kernel_ver}\ | |
232 | \ | |
233 | %postun -n kernel%{_alt_kernel}-video-nvidia\ | |
234 | %depmod %{_kernel_ver}\ | |
235 | %{nil} | |
236 | ||
237 | %define build_kernel_pkg()\ | |
e4947020 JR |
238 | cd kernel\ |
239 | #cat >> Makefile <<'EOF'\ | |
240 | #\ | |
241 | #$(obj)/nv-kernel.o: $(src)/nv-kernel.o.bin\ | |
242 | # cp $< $@\ | |
243 | #EOF\ | |
244 | #mv nv-kernel.o{,.bin}\ | |
245 | #build_kernel_modules -m nvidia\ | |
246 | %{__make} SYSSRC=%{_kernelsrcdir} clean\ | |
ef40d8b8 | 247 | %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\ |
e4947020 | 248 | cd ..\ |
10e941a4 | 249 | %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\ |
cad4d6b5 | 250 | %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\ |
e4947020 JR |
251 | %{nil} |
252 | ||
fb27eb94 | 253 | %{?with_kernel:%{expand:%create_kernel_packages}} |
d626b139 | 254 | %endif |
28142503 | 255 | |
28142503 PS |
256 | %prep |
257 | cd %{_builddir} | |
7f0cefc2 | 258 | rm -rf NVIDIA-Linux-x86_64-%{version} |
28142503 | 259 | /bin/sh %{SOURCE0} --extract-only |
7f0cefc2 | 260 | %setup -qDT -n NVIDIA-Linux-x86_64-%{version} |
bcf69910 | 261 | %patch0 -p1 |
8481604b | 262 | echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild |
28142503 PS |
263 | |
264 | %build | |
d626b139 | 265 | %ifarch %{x8664} |
fb27eb94 | 266 | %{?with_kernel:%{expand:%build_kernel_packages}} |
d626b139 | 267 | %endif |
28142503 PS |
268 | |
269 | %install | |
270 | rm -rf $RPM_BUILD_ROOT | |
1820d34b ER |
271 | |
272 | %if %{with userspace} | |
cd436d42 | 273 | install -d $RPM_BUILD_ROOT%{_libdir}/{nvidia,xorg/modules/{drivers,extensions/nvidia}} \ |
117b7720 | 274 | $RPM_BUILD_ROOT{%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \ |
054fcee3 | 275 | $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \ |
6c7b79fe | 276 | $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \ |
96251f94 | 277 | $RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d} |
28142503 | 278 | |
d626b139 | 279 | %ifarch %{x8664} |
5da85237 ER |
280 | %if %{with settings} |
281 | install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir} | |
282 | cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1 | |
f3bf0f30 ER |
283 | cp -p nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir} |
284 | cp -p nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir} | |
f3b8319b | 285 | install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh |
5da85237 ER |
286 | %endif |
287 | ||
288 | install -p nvidia-{smi,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir} | |
df1704ce KK |
289 | install -p nvidia-cuda-mps-{control,server} $RPM_BUILD_ROOT%{_bindir} |
290 | cp -p nvidia-{smi,xconfig,cuda-mps-control}.1* $RPM_BUILD_ROOT%{_mandir}/man1 | |
f3bf0f30 | 291 | install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors |
eb6ba6c9 | 292 | |
cd436d42 JR |
293 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d |
294 | install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d | |
295 | sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf | |
c6948e82 | 296 | install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf |
da05371c | 297 | |
28bd8abb JP |
298 | install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia |
299 | install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia | |
d626b139 JR |
300 | %endif |
301 | ||
302 | %ifarch %{ix86} | |
303 | %define srcdir 32 | |
304 | %else | |
305 | %define srcdir . | |
306 | %endif | |
28bd8abb | 307 | |
eb6ba6c9 | 308 | for f in \ |
538b2e0c | 309 | %if %{with glvnd} |
75de51d2 | 310 | %if %{without system_libglvnd} |
d626b139 JR |
311 | %{srcdir}/libGL.so.1.7.0 \ |
312 | %{srcdir}/libGLX.so.0 \ | |
313 | %{srcdir}/libOpenGL.so.0 \ | |
314 | %{srcdir}/libGLdispatch.so.0 \ | |
315 | %{srcdir}/libGLESv1_CM.so.1.2.0 \ | |
316 | %{srcdir}/libGLESv2.so.2.1.0 \ | |
317 | %{srcdir}/libEGL.so.1.1.0 \ | |
318 | %endif | |
319 | %{srcdir}/libGLX_nvidia.so.%{version} \ | |
320 | %{srcdir}/libEGL_nvidia.so.%{version} \ | |
321 | %{srcdir}/libGLESv1_CM_nvidia.so.%{version} \ | |
322 | %{srcdir}/libGLESv2_nvidia.so.%{version} \ | |
323 | %ifarch %{x8664} | |
117b7720 | 324 | %{srcdir}/libnvidia-egl-wayland.so.1.1.0 \ |
d626b139 JR |
325 | %{srcdir}/libnvidia-eglcore.so.%{version} \ |
326 | %endif | |
538b2e0c | 327 | %else |
d626b139 JR |
328 | %{srcdir}/libGL.so.%{version} \ |
329 | %endif | |
330 | %{srcdir}/libcuda.so.%{version} \ | |
331 | %{srcdir}/libnvcuvid.so.%{version} \ | |
332 | %ifarch %{x8664} | |
0f1616f9 | 333 | %{srcdir}/libnvidia-cbl.so.%{version} \ |
d626b139 | 334 | %{srcdir}/libnvidia-cfg.so.%{version} \ |
0f1616f9 JP |
335 | %{srcdir}/libnvidia-rtcore.so.%{version} \ |
336 | %{srcdir}/libnvoptix.so.%{version} \ | |
d626b139 JR |
337 | %endif |
338 | %{srcdir}/libnvidia-compiler.so.%{version} \ | |
339 | %{srcdir}/libnvidia-encode.so.%{version} \ | |
340 | %{srcdir}/libnvidia-fatbinaryloader.so.%{version} \ | |
341 | %{srcdir}/libnvidia-fbc.so.%{version} \ | |
342 | %{srcdir}/libnvidia-glcore.so.%{version} \ | |
343 | %{srcdir}/libnvidia-glsi.so.%{version} \ | |
344 | %{srcdir}/libnvidia-glvkspirv.so.%{version} \ | |
345 | %{srcdir}/libnvidia-ifr.so.%{version} \ | |
346 | %{srcdir}/libnvidia-ml.so.%{version} \ | |
347 | %{srcdir}/libnvidia-opencl.so.%{version} \ | |
348 | %{srcdir}/libnvidia-ptxjitcompiler.so.%{version} \ | |
f1773542 | 349 | %{srcdir}/libnvidia-tls.so.%{version} \ |
eb6ba6c9 | 350 | ; do |
cd436d42 | 351 | install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia |
ffec07c8 | 352 | done |
76db0ca8 | 353 | |
672bc855 | 354 | install -p %{srcdir}/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau |
eb6ba6c9 | 355 | |
d626b139 | 356 | %ifarch %{x8664} |
117b7720 JP |
357 | install -p libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia |
358 | ln -s libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so | |
7400930f ER |
359 | install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version} |
360 | ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so | |
cd436d42 | 361 | install -p libnvidia-wfb.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia |
2f2dbb1c | 362 | ln -s libnvidia-wfb.so.1 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so |
d626b139 | 363 | %endif |
cd436d42 JR |
364 | |
365 | /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia | |
366 | /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia | |
28142503 | 367 | |
76db0ca8 | 368 | ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1 |
28142503 | 369 | |
d626b139 | 370 | %ifarch %{x8664} |
a116bc07 JR |
371 | echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf |
372 | echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf | |
d626b139 JR |
373 | %else |
374 | echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf | |
375 | echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf | |
376 | %endif | |
ffec07c8 JR |
377 | |
378 | # OpenGL ABI for Linux compatibility | |
538b2e0c | 379 | %if %{with glvnd} |
75de51d2 | 380 | %if %{without system_libglvnd} |
94175128 | 381 | ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1 |
75de51d2 JP |
382 | ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so |
383 | ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so | |
384 | ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so | |
94175128 | 385 | ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1 |
75de51d2 | 386 | ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so |
94175128 | 387 | ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2 |
75de51d2 | 388 | ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so |
94175128 | 389 | ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1 |
c2ff5cb2 | 390 | ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so |
75de51d2 | 391 | %endif |
538b2e0c | 392 | ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0 |
10e941a4 | 393 | ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0 |
538b2e0c JP |
394 | ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0 |
395 | ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1 | |
396 | ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2 | |
3427c6f3 | 397 | |
d626b139 | 398 | %ifarch %{x8664} |
3427c6f3 | 399 | install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d |
d626b139 | 400 | %endif |
538b2e0c JP |
401 | %else |
402 | ln -sf libGL.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1 | |
403 | ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so | |
404 | %endif | |
cd436d42 JR |
405 | ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so |
406 | ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so | |
6c7b79fe | 407 | |
d626b139 | 408 | %ifarch %{x8664} |
8d5d4797 | 409 | sed 's!__NV_VK_ICD__!%{vulkan_lib}!g' nvidia_icd.json.template > $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d/nvidia_icd.json |
ffec07c8 | 410 | %endif |
d626b139 | 411 | %endif |
28142503 | 412 | |
d626b139 | 413 | %ifarch %{x8664} |
1fdf7dcc | 414 | %if %{with kernel} |
e4947020 JR |
415 | install -d $RPM_BUILD_ROOT |
416 | cp -a installed/* $RPM_BUILD_ROOT | |
1fdf7dcc | 417 | %endif |
d626b139 | 418 | %endif |
28142503 | 419 | |
236b5374 | 420 | install -d $RPM_BUILD_ROOT%{_pkgconfigdir} |
02b832fe ER |
421 | sed -e ' |
422 | s|@@prefix@@|%{_prefix}|g; | |
423 | s|@@libdir@@|%{_libdir}|g; | |
02b832fe | 424 | s|@@version@@|%{version}|g' < %{SOURCE3} \ |
236b5374 | 425 | > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc |
426 | ||
28142503 PS |
427 | %clean |
428 | rm -rf $RPM_BUILD_ROOT | |
429 | ||
a641155e | 430 | %post |
2b14e59b ER |
431 | cat << 'EOF' |
432 | NOTE: You must also install kernel module for this driver to work | |
5ff69e47 | 433 | kernel%{_alt_kernel}-video-nvidia-%{version} |
2b14e59b | 434 | |
25b520ff | 435 | EOF |
f3b8319b | 436 | |
5ff69e47 | 437 | %post libs -p /sbin/ldconfig |
cd436d42 | 438 | %postun libs -p /sbin/ldconfig |
25b520ff | 439 | |
1820d34b | 440 | %if %{with userspace} |
d626b139 | 441 | %ifarch %{x8664} |
28142503 PS |
442 | %files |
443 | %defattr(644,root,root,755) | |
8481604b | 444 | %doc LICENSE NVIDIA_Changelog README.txt |
007619d4 | 445 | %dir %{_libdir}/xorg/modules/extensions/nvidia |
cd436d42 | 446 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so.*.* |
4c0d0c97 JR |
447 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so.1 |
448 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so | |
117b7720 JP |
449 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so.* |
450 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so | |
7400930f | 451 | %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.* |
cd436d42 | 452 | %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so |
65e71729 | 453 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf |
cd436d42 | 454 | %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf |
c6948e82 | 455 | %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf |
28bd8abb JP |
456 | %dir %{_datadir}/nvidia |
457 | %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation | |
458 | %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc | |
d626b139 | 459 | %endif |
17fdb673 JR |
460 | |
461 | %files libs | |
f3b8319b | 462 | %defattr(644,root,root,755) |
d626b139 | 463 | %ifarch %{x8664} |
f3bf0f30 ER |
464 | %dir %{_sysconfdir}/OpenCL |
465 | %dir %{_sysconfdir}/OpenCL/vendors | |
466 | %{_sysconfdir}/OpenCL/vendors/nvidia.icd | |
d626b139 | 467 | %endif} |
a116bc07 | 468 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf |
ffec07c8 | 469 | %dir %{_libdir}/nvidia |
538b2e0c | 470 | %if %{with glvnd} |
75de51d2 | 471 | %if %{without system_libglvnd} |
94175128 | 472 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0 |
75de51d2 JP |
473 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1 |
474 | %attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0 | |
475 | %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0 | |
476 | %attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0 | |
94175128 JP |
477 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0 |
478 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1 | |
479 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0 | |
480 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2 | |
481 | %attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0 | |
482 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1 | |
c2ff5cb2 | 483 | %endif |
10e941a4 JP |
484 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0 |
485 | %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.* | |
10e941a4 JP |
486 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1 |
487 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.*.* | |
10e941a4 JP |
488 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2_nvidia.so.2 |
489 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2_nvidia.so.*.* | |
10e941a4 JP |
490 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0 |
491 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0 | |
492 | %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.* | |
d626b139 | 493 | %ifarch %{x8664} |
538b2e0c | 494 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.* |
b440dd78 | 495 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1 |
538b2e0c | 496 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.so.*.* |
d626b139 | 497 | %endif |
538b2e0c JP |
498 | %else |
499 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so.*.* | |
500 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1 | |
501 | %endif | |
cd436d42 JR |
502 | %attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.* |
503 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libcuda.so.1 | |
504 | %attr(755,root,root) %{_libdir}/nvidia/libcuda.so | |
505 | %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so.*.* | |
506 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvcuvid.so.1 | |
507 | %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so | |
d626b139 | 508 | %ifarch %{x8664} |
0f1616f9 | 509 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cbl.so.*.* |
cd436d42 JR |
510 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.* |
511 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1 | |
0f1616f9 JP |
512 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-rtcore.so.*.* |
513 | %attr(755,root,root) %{_libdir}/nvidia/libnvoptix.so.*.* | |
514 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvoptix.so.1 | |
d626b139 | 515 | %endif |
cd436d42 | 516 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-compiler.so.*.* |
5ee8f0c8 JR |
517 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.* |
518 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1 | |
10e941a4 JP |
519 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fatbinaryloader.so.*.* |
520 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-fbc.so.1 | |
521 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.* | |
cd436d42 | 522 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.* |
10e941a4 | 523 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.* |
7f0cefc2 | 524 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glvkspirv.so.*.* |
10e941a4 JP |
525 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ifr.so.1 |
526 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ifr.so.*.* | |
8d5d4797 | 527 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1 |
cd436d42 JR |
528 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.* |
529 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1 | |
5ee8f0c8 JR |
530 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.* |
531 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opencl.so.1 | |
10e941a4 | 532 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.*.* |
cd436d42 | 533 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.* |
76db0ca8 | 534 | %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.* |
f3b8319b | 535 | %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1 |
d626b139 | 536 | %ifarch %{x8664} |
96251f94 JP |
537 | %if %{with glvnd} |
538 | %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json | |
539 | %endif | |
7c831f98 | 540 | %{_datadir}/vulkan/icd.d/nvidia_icd.json |
d626b139 | 541 | %endif |
28142503 | 542 | |
28142503 PS |
543 | %files devel |
544 | %defattr(644,root,root,755) | |
538b2e0c | 545 | %if %{with glvnd} |
75de51d2 JP |
546 | %if %{without system_libglvnd} |
547 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so | |
548 | %attr(755,root,root) %{_libdir}/nvidia/libGLX.so | |
549 | %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so | |
550 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so | |
551 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so | |
10e941a4 | 552 | %attr(755,root,root) %{_libdir}/nvidia/libEGL.so |
c2ff5cb2 | 553 | %endif |
538b2e0c JP |
554 | %else |
555 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so | |
556 | %endif | |
236b5374 | 557 | %{_pkgconfigdir}/gl.pc |
63c6d4b1 | 558 | |
a9160796 ER |
559 | %files doc |
560 | %defattr(644,root,root,755) | |
8481604b | 561 | %doc html/* |
a9160796 | 562 | |
d626b139 | 563 | %ifarch %{x8664} |
d4a34ce2 | 564 | %files progs |
01766b04 | 565 | %defattr(644,root,root,755) |
8481604b | 566 | %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh |
df1704ce KK |
567 | %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-control |
568 | %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-server | |
8481604b | 569 | %attr(755,root,root) %{_bindir}/nvidia-smi |
225cc701 | 570 | %attr(755,root,root) %{_bindir}/nvidia-xconfig |
df1704ce | 571 | %{_mandir}/man1/nvidia-cuda-mps-control.1* |
5da85237 ER |
572 | %{_mandir}/man1/nvidia-smi.1* |
573 | %{_mandir}/man1/nvidia-xconfig.1* | |
574 | %if %{with settings} | |
2a45f872 | 575 | %attr(755,root,root) /etc/X11/xinit/xinitrc.d/*.sh |
5da85237 ER |
576 | %attr(755,root,root) %{_bindir}/nvidia-settings |
577 | %{_mandir}/man1/nvidia-settings.1* | |
225cc701 | 578 | %{_desktopdir}/nvidia-settings.desktop |
225cc701 | 579 | %{_pixmapsdir}/nvidia-settings.png |
1820d34b | 580 | %endif |
d626b139 JR |
581 | %endif |
582 | %endif |