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