]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia.git/blob - xorg-driver-video-nvidia.spec
cfb3c088a5684e25fcf069a2076280c3b0ad8dfd
[packages/xorg-driver-video-nvidia.git] / xorg-driver-video-nvidia.spec
1 # TODO
2 # - drop binary-only nvidia-settings from here, and use nvidia-settings.spec for it
3 # - kernel-drm is required on never kernels. driver for kernel-longterm not requires drm
4 #
5 # Conditional build:
6 %bcond_without  system_libglvnd # use system libglvnd
7 %bcond_without  kernel          # without kernel packages
8 %bcond_without  userspace       # don't build userspace programs
9 %bcond_with     settings        # package nvidia-settings here (GPL version of same packaged from nvidia-settings.spec)
10 %bcond_with     verbose         # verbose build (V=1)
11
12 # The goal here is to have main, userspace, package built once with
13 # simple release number, and only rebuild kernel packages with kernel
14 # version as part of release number, without the need to bump release
15 # with every kernel change.
16 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17 %{error:kernel and userspace cannot be built at the same time on PLD builders}
18 exit 1
19 %endif
20
21 %define         no_install_post_check_so 1
22
23 %define         rel     1
24 %define         pname   xorg-driver-video-nvidia
25 Summary:        Linux Drivers for nVidia GeForce/Quadro Chips
26 Summary(hu.UTF-8):      Linux meghajtók nVidia GeForce/Quadro chipekhez
27 Summary(pl.UTF-8):      Sterowniki do kart graficznych nVidia GeForce/Quadro
28 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
29 # when updating version here, keep nvidia-settings.spec in sync as well
30 Version:        550.54.14
31 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
32 Epoch:          1
33 License:        nVidia Binary
34 Group:          X11
35 Source0:        https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
36 # Source0-md5:  69e77647875bef192f8458912027e44b
37 Source2:        %{pname}-xinitrc.sh
38 Source3:        gl.pc.in
39 Source4:        10-nvidia.conf
40 Source5:        10-nvidia-modules.conf
41 Patch0:         X11-driver-nvidia-desktop.patch
42 URL:            https://www.nvidia.com/en-us/drivers/unix/
43 BuildRequires:  rpm-build >= 4.6
44 BuildRequires:  rpmbuild(macros) >= 1.752
45 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:3.10}}
46 BuildRequires:  sed >= 4.0
47 BuildConflicts: XFree86-nvidia
48 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
49 Requires:       xorg-xserver-server
50 Requires:       xorg-xserver-server(videodrv-abi) <= 25.2
51 Requires:       xorg-xserver-server(videodrv-abi) >= 4.0
52 Provides:       ocl-icd(nvidia)
53 Provides:       ocl-icd-driver
54 Provides:       vulkan(icd) = 1.3.194
55 Provides:       xorg-driver-video
56 Provides:       xorg-xserver-module(glx)
57 Obsoletes:      XFree86-driver-nvidia < 1.0.5336-4
58 Obsoletes:      XFree86-nvidia < 1.0
59 Conflicts:      XFree86-OpenGL-devel <= 4.2.0-3
60 ExclusiveArch:  %{?with_userspace:%{ix86}} %{x8664}
61 BuildRoot:      %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
62
63 %define         _enable_debug_packages  0
64
65 # libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1
66 %define         _noautoreq      libnvcuvid.so
67
68 %define         _noautostrip    .*/lib/firmware/.*
69
70 %description
71 This driver set adds improved 2D functionality to the Xorg X server as
72 well as high performance OpenGL acceleration, AGP support, support for
73 most flat panels, and 2D multiple monitor support.
74
75 Supported hardware:
76 - GeForce 600 series (excluding 605/GT 610/GT 620/GT 645)
77 - GeForce 600M series (GT 640M LE only)
78 - GeForce 700 series (excluding GT 705)
79 - GeForce 800M series (830M/840M/845M/850M/860M only)
80 - GeForce 900/900M series (excluding 910M/920M)
81 - GeForce 10 series (including GT 1010)
82 - GeForce 10 mobile series
83 - GeForce 16 series (also mobile)
84 - GeForce MX100 series
85 - GeForce MX200 series
86 - GeForce MX300 series
87 - GeForce MX400 series
88 - GeForce RTX 20 series (also mobile)
89 - GeForce RTX 30 series (also mobile)
90 - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
91 - NVIDIA RTX series (also mobile)
92 - NVIDIA TITAN series (RTX/V/Xp)
93 - NVS series (NVS 510/NVS 810 only)
94 - Quadro NVS series (NVS 510/NVS 810 only)
95 - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000 only)
96 - Quadro mobile series (K620M/K2200M/M*/P*/T* only)
97 - Quadro series (410/K*/M*/P*/GP100/GV100 only)
98 - Quadro RTX series (also mobile)
99 - GRID series (K520)
100
101 For older hardware see appropriate xorg-driver-video-nvidia-legacy-*
102 driver series.
103
104 %description -l hu.UTF-8
105 Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL
106 gyorsítással, AGP támogatással és támogatja a több monitort.
107
108 Támogatott hardverek:
109 - GeForce 600 series (- 605/GT 610/GT 620/GT 645)
110 - GeForce 600M series (GT 640M LE)
111 - GeForce 700 series (- GT 705)
112 - GeForce 800M series (830M/840M/845M/850M/860M)
113 - GeForce 900/900M series (- 910M/920M)
114 - GeForce 10 series
115 - GeForce 10 mobile series
116 - GeForce 16 series (+mobile)
117 - GeForce MX100 series
118 - GeForce MX200 series
119 - GeForce MX300 series
120 - GeForce MX400 series
121 - GeForce RTX 20 series (+mobile)
122 - GeForce RTX 30 series (+mobile)
123 - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
124 - NVIDIA RTX series (+mobile)
125 - NVIDIA TITAN series (RTX/V/Xp)
126 - NVS series (NVS 510/NVS 810)
127 - Quadro NVS series (NVS 510/NVS 810)
128 - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000)
129 - Quadro mobile series (K620M/K2200M/M*/P*/T*)
130 - Quadro series (410/K*/M*/P*/GP100/GV100)
131 - Quadro RTX series (+mobile)
132 - GRID series (K520)
133
134 %description -l pl.UTF-8
135 Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg,
136 dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów
137 2D.
138
139 Obsługują karty:
140 - GeForce serii 600 (oprócz 605/GT 610/GT 620/GT 645)
141 - GeForce serii 600M (tylko GT 640M LE)
142 - GeForce serii 700 (oprócz GT 705)
143 - GeForce serii 800M (tylko 830M/840M/845M/850M/860M)
144 - GeForce serii 900/900M series (oprócz 910M/920M)
145 - GeForce serii 10 (wraz z GT 1010)
146 - GeForce serii 10 mobile
147 - GeForce serii 16 (także mobile)
148 - GeForce serii MX100
149 - GeForce serii MX200
150 - GeForce serii MX300
151 - GeForce serii MX400
152 - GeForce serii RTX 20 (także mobile)
153 - GeForce serii RTX 30 (także mobile)
154 - GeForce serii TITAN (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
155 - NVIDIA serii RTX (także mobile)
156 - NVIDIA serii TITAN (RTX/V/Xp)
157 - serii NVS (tylko NVS 510/NVS 810)
158 - Quadro serii NVS (tylko NVS 510/NVS 810)
159 - Quadro serii Blade/Embedded (tylko M3000 SE/M5000 SE/P3000/P5000)
160 - Quadro mobile (tylko K620M/K2200M/M*/P*/T*)
161 - Quadro (tylko 410/K*/M*/P*/GP100/GV100)
162 - Quadro serii RTX (także mobile)
163 - GRID (K520)
164
165 %package libs
166 Summary:        OpenGL (GL and GLX) Nvidia libraries
167 Summary(pl.UTF-8):      Biblioteki OpenGL (GL i GLX) Nvidia
168 Group:          X11/Development/Libraries
169 Requires(post,postun):  /sbin/ldconfig
170 %if %{with system_libglvnd}
171 Requires:       libglvnd >= 1.3.4-2
172 Requires:       libglvnd-libGL >= 1.3.4-2
173 Requires:       libglvnd-libGLES >= 1.3.4-2
174 %endif
175 Requires:       libvdpau >= 0.3
176 Provides:       OpenGL = 4.6
177 Provides:       OpenGL-GLX = 1.4
178 %if %{with system_libglvnd}
179 Provides:       glvnd(EGL)%{?_isa}
180 Provides:       glvnd(GL)%{?_isa}
181 Provides:       glvnd(GLES)%{?_isa}
182 %endif
183 Obsoletes:      X11-OpenGL-core < 1:7.0.0
184 Obsoletes:      X11-OpenGL-libGL < 1:7.0.0
185 Obsoletes:      XFree86-OpenGL-core < 1:7.0.0
186 Obsoletes:      XFree86-OpenGL-libGL < 1:7.0.0
187 %if %{with system_libglvnd}
188 Obsoletes:      xorg-driver-video-nvidia-devel < 465.27-2
189 %endif
190
191 %description libs
192 NVIDIA OpenGL (GL and GLX only) implementation libraries.
193
194 %description libs -l pl.UTF-8
195 Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA.
196
197 %package devel
198 Summary:        OpenGL (GL and GLX) header files
199 Summary(hu.UTF-8):      OpenGL (GL és GLX) fejléc fájlok
200 Summary(pl.UTF-8):      Pliki nagłówkowe OpenGL (GL i GLX)
201 Group:          X11/Development/Libraries
202 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
203 Obsoletes:      X11-OpenGL-devel-base < 1:7.0.0
204 Obsoletes:      XFree86-OpenGL-devel-base < 1:7.0.0
205 Obsoletes:      XFree86-driver-nvidia-devel < 1.0.5336-4
206 Conflicts:      XFree86-OpenGL-devel < 4.3.99.902-0.3
207
208 %description devel
209 OpenGL header files (GL and GLX only) for NVIDIA OpenGL
210 implementation.
211
212 %description devel -l hu.UTF-8
213 OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz.
214
215 %description devel -l pl.UTF-8
216 Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL
217 firmy NVIDIA.
218
219 %package doc
220 Summary:        Documentation for NVIDIA Graphics Driver
221 Summary(pl.UTF-8):      Dokumentacja do sterownika graficznego NVIDIA
222 Group:          Documentation
223 BuildArch:      noarch
224
225 %description doc
226 NVIDIA Accelerated Linux Graphics Driver README and Installation
227 Guide.
228
229 %description doc -l pl.UTF-8
230 Plik README oraz przewodnik instalacji do akcelerowanego sterownika
231 graficznego NVIDIA dla Linuksa.
232
233 %package progs
234 Summary:        Tools for advanced control of nVidia graphic cards
235 Summary(hu.UTF-8):      Eszközök az nVidia grafikus kártyák beállításához
236 Summary(pl.UTF-8):      Narzędzia do zarządzania kartami graficznymi nVidia
237 Group:          Applications/System
238 Requires:       %{pname} = %{epoch}:%{version}
239 Suggests:       pkgconfig
240 Obsoletes:      XFree86-driver-nvidia-progs < 1.0.5336-4
241
242 %description progs
243 Tools for advanced control of nVidia graphic cards.
244
245 %description progs -l hu.UTF-8
246 Eszközök az nVidia grafikus kártyák beállításához.
247
248 %description progs -l pl.UTF-8
249 Narzędzia do zarządzania kartami graficznymi nVidia.
250
251 %define kernel_pkg()\
252 %package -n kernel%{_alt_kernel}-video-nvidia\
253 Summary:        nVidia kernel module for nVidia Architecture support\
254 Summary(de.UTF-8):      Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung\
255 Summary(hu.UTF-8):      nVidia Architektúra támogatás Linux kernelhez.\
256 Summary(pl.UTF-8):      Moduł jądra dla obsługi kart graficznych nVidia\
257 Release:        %{rel}@%{_kernel_ver_str}\
258 Group:          Base/Kernel\
259 Requires(post,postun):  /sbin/depmod\
260 Requires:       dev >= 2.7.7-10\
261 %requires_releq_kernel\
262 %if %{_kernel_version_code} >= %{_kernel_version_magic 3 10 0}\
263 Requires:       %{releq_kernel -n drm}\
264 %endif\
265 Requires(postun):       %releq_kernel\
266 Requires:       %{pname} = %{epoch}:%{version}\
267 Provides:       X11-driver-nvidia(kernel)\
268 Obsoletes:      XFree86-nvidia-kernel < 1.0.5336-4\
269 \
270 %description -n kernel%{_alt_kernel}-video-nvidia\
271 nVidia Architecture support for Linux kernel.\
272 \
273 %description -n kernel%{_alt_kernel}-video-nvidia -l de.UTF-8\
274 Die nVidia-Architektur-Unterstützung für den Linux-Kern.\
275 \
276 %description -n kernel%{_alt_kernel}-video-nvidia -l hu.UTF-8\
277 nVidia Architektúra támogatás Linux kernelhez.\
278 \
279 %description -n kernel%{_alt_kernel}-video-nvidia -l pl.UTF-8\
280 Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez\
281 sterownik nVidii dla Xorg/XFree86.\
282 \
283 %if %{with kernel}\
284 %files -n kernel%{_alt_kernel}-video-nvidia\
285 %defattr(644,root,root,755)\
286 %dir /lib/firmware/nvidia\
287 %dir /lib/firmware/nvidia/%{version}\
288 /lib/firmware/nvidia/%{version}/gsp_ga10x.bin\
289 /lib/firmware/nvidia/%{version}/gsp_tu10x.bin\
290 /lib/modules/%{_kernel_ver}/misc/*.ko*\
291 %endif\
292 \
293 %post   -n kernel%{_alt_kernel}-video-nvidia\
294 %depmod %{_kernel_ver}\
295 \
296 %postun -n kernel%{_alt_kernel}-video-nvidia\
297 %depmod %{_kernel_ver}\
298 %{nil}
299
300 %define build_kernel_pkg()\
301 cd kernel\
302 %{__make} SYSSRC=%{_kernelsrcdir} clean\
303 %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\
304 cd ..\
305 %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\
306 %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\
307 %{nil}
308
309 %ifarch %{x8664}
310 %{?with_kernel:%{expand:%create_kernel_packages}}
311 %endif
312
313 %prep
314 cd %{_builddir}
315 rm -rf NVIDIA-Linux-x86_64-%{version}
316 /bin/sh %{SOURCE0} --extract-only
317 %setup -qDT -n NVIDIA-Linux-x86_64-%{version}
318 %patch0 -p1
319 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
320
321 %build
322 %ifarch %{x8664}
323 %{?with_kernel:%{expand:%build_kernel_packages}}
324 %endif
325
326 %install
327 rm -rf $RPM_BUILD_ROOT
328
329 %if %{with userspace}
330 install -d $RPM_BUILD_ROOT%{_libdir}/{gbm,nvidia,xorg/modules/{drivers,extensions/nvidia}} \
331         $RPM_BUILD_ROOT{%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \
332         $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \
333         $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \
334         $RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d,egl/egl_external_platform.d}
335
336 %ifarch %{x8664}
337 %if %{with settings}
338 install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir}
339 cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1
340 cp -p nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
341 cp -p nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
342 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
343 %endif
344
345 install -p nvidia-{smi,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
346 install -p nvidia-cuda-mps-{control,server} $RPM_BUILD_ROOT%{_bindir}
347 cp -p nvidia-{smi,xconfig,cuda-mps-control}.1* $RPM_BUILD_ROOT%{_mandir}/man1
348 install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
349
350 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
351 install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
352 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf
353 install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
354
355 install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia
356 install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia
357 %endif
358
359 %ifarch %{ix86}
360 %define srcdir  32
361 %else
362 %define srcdir  .
363 %endif
364
365 for f in \
366 %if %{without system_libglvnd}
367         %{srcdir}/libGL.so.1.7.0                                \
368         %{srcdir}/libGLX.so.0                           \
369         %{srcdir}/libOpenGL.so.0                                \
370         %{srcdir}/libGLdispatch.so.0                    \
371         %{srcdir}/libGLESv1_CM.so.1.2.0                 \
372         %{srcdir}/libGLESv2.so.2.1.0                    \
373         %{srcdir}/libEGL.so.1.1.0                               \
374 %endif
375         %{srcdir}/libGLX_nvidia.so.%{version}           \
376         %{srcdir}/libEGL_nvidia.so.%{version}           \
377         %{srcdir}/libGLESv1_CM_nvidia.so.%{version}     \
378         %{srcdir}/libGLESv2_nvidia.so.%{version}                \
379         %{srcdir}/libcuda.so.%{version}                 \
380         %{srcdir}/libnvcuvid.so.%{version}              \
381         %{srcdir}/libnvidia-allocator.so.%{version}     \
382         %{srcdir}/libnvidia-encode.so.%{version}                \
383         %{srcdir}/libnvidia-fbc.so.%{version}   \
384         %{srcdir}/libnvidia-glcore.so.%{version}                \
385         %{srcdir}/libnvidia-glsi.so.%{version}          \
386         %{srcdir}/libnvidia-glvkspirv.so.%{version}             \
387         %{srcdir}/libnvidia-gpucomp.so.%{version}               \
388         %{srcdir}/libnvidia-ml.so.%{version}            \
389         %{srcdir}/libnvidia-nvvm.so.%{version}          \
390         %{srcdir}/libnvidia-opencl.so.%{version}                \
391         %{srcdir}/libnvidia-opticalflow.so.%{version}           \
392         %{srcdir}/libnvidia-ptxjitcompiler.so.%{version}        \
393         %{srcdir}/libnvidia-tls.so.%{version}           \
394 %ifarch %{x8664}
395         %{srcdir}/libcudadebugger.so.%{version}         \
396         %{srcdir}/libnvidia-api.so.1                    \
397         %{srcdir}/libnvidia-egl-gbm.so.1.1.1            \
398         %{srcdir}/libnvidia-egl-wayland.so.1.1.13               \
399         %{srcdir}/libnvidia-eglcore.so.%{version}               \
400         %{srcdir}/libnvidia-cfg.so.%{version}           \
401         %{srcdir}/libnvidia-ngx.so.%{version}           \
402         %{srcdir}/libnvidia-pkcs11-openssl3.so.%{version}               \
403         %{srcdir}/libnvidia-rtcore.so.%{version}        \
404         %{srcdir}/libnvoptix.so.%{version}      \
405 %endif
406 ; do
407         install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia
408 done
409
410 install -p %{srcdir}/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
411
412 %ifarch %{x8664}
413 install -p libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
414 ln -s libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so
415 install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
416 ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
417 %endif
418
419 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia
420 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
421
422 ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1
423
424 %ifarch %{x8664}
425 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
426 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
427 %else
428 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
429 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
430 %endif
431
432 # OpenGL ABI for Linux compatibility
433 %if %{without system_libglvnd}
434 ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
435 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
436 ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so
437 ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so
438 ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1
439 ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so
440 ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2
441 ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so
442 ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1
443 ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so
444 %endif
445 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0
446 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0
447 ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0
448 ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
449 ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2
450
451 ln -sf ../nvidia/libnvidia-allocator.so.%{version} $RPM_BUILD_ROOT%{_libdir}/gbm/nvidia-drm_gbm.so
452
453 %ifarch %{x8664}
454 install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
455 install -p 15_nvidia_gbm.json $RPM_BUILD_ROOT%{_datadir}/egl/egl_external_platform.d
456 install -p nvidia_icd.json $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d
457 %endif
458 ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so
459 ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so
460
461 %endif
462
463 %ifarch %{x8664}
464 %if %{with kernel}
465 install -d $RPM_BUILD_ROOT
466 cp -a installed/* $RPM_BUILD_ROOT
467 install -D firmware/gsp_ga10x.bin $RPM_BUILD_ROOT/lib/firmware/nvidia/%{version}/gsp_ga10x.bin
468 install -D firmware/gsp_tu10x.bin $RPM_BUILD_ROOT/lib/firmware/nvidia/%{version}/gsp_tu10x.bin
469 %endif
470 %endif
471
472 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
473 sed -e '
474         s|@@prefix@@|%{_prefix}|g;
475         s|@@libdir@@|%{_libdir}|g;
476         s|@@version@@|%{version}|g' < %{SOURCE3} \
477         > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
478
479 %clean
480 rm -rf $RPM_BUILD_ROOT
481
482 %post
483 cat << 'EOF'
484 NOTE: You must also install kernel module for this driver to work
485   kernel%{_alt_kernel}-video-nvidia-%{version}
486
487 EOF
488
489 %post   libs -p /sbin/ldconfig
490 %postun libs -p /sbin/ldconfig
491
492 %if %{with userspace}
493 %ifarch %{x8664}
494 %files
495 %defattr(644,root,root,755)
496 %doc LICENSE NVIDIA_Changelog README.txt
497 %dir %{_libdir}/xorg/modules/extensions/nvidia
498 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so.*
499 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so
500 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.*
501 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so
502 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
503 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf
504 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
505 %dir %{_datadir}/nvidia
506 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation
507 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
508 %endif
509
510 %files libs
511 %defattr(644,root,root,755)
512 %ifarch %{x8664}
513 %dir %{_sysconfdir}/OpenCL
514 %dir %{_sysconfdir}/OpenCL/vendors
515 %{_sysconfdir}/OpenCL/vendors/nvidia.icd
516 %endif
517 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf
518 %attr(755,root,root) %{_libdir}/gbm/nvidia-drm_gbm.so
519 %dir %{_libdir}/nvidia
520 %if %{without system_libglvnd}
521 %attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0
522 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
523 %attr(755,root,root) %{_libdir}/nvidia/libGL.so
524 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0
525 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0
526 %attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0
527 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0
528 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1
529 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0
530 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2
531 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0
532 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1
533 %endif
534 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0
535 %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.*
536 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
537 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.*.*
538 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2_nvidia.so.2
539 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2_nvidia.so.*.*
540 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0
541 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0
542 %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.*
543 %attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.*
544 %attr(755,root,root) %ghost %{_libdir}/nvidia/libcuda.so.1
545 %attr(755,root,root) %{_libdir}/nvidia/libcuda.so
546 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so.*.*
547 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvcuvid.so.1
548 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so
549 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-allocator.so.*.*
550 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-allocator.so.1
551 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.*
552 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1
553 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-fbc.so.1
554 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.*
555 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.*
556 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.*
557 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glvkspirv.so.*.*
558 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-gpucomp.so.*.*
559 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.*
560 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1
561 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-nvvm.so.*.*
562 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-nvvm.so.4
563 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.*
564 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opencl.so.1
565 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opticalflow.so.*.*
566 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opticalflow.so.1
567 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.*.*
568 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1
569 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
570 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
571 %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
572 %ifarch %{x8664}
573 %attr(755,root,root) %{_libdir}/nvidia/libcudadebugger.so.*.*
574 %attr(755,root,root) %ghost %{_libdir}/nvidia/libcudadebugger.so.1
575 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-api.so.1
576 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-gbm.so.*.*.*
577 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-gbm.so.1
578 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.*
579 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1
580 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.so.*.*
581 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
582 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1
583 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ngx.so.*.*
584 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ngx.so.1
585 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-pkcs11-openssl3.so.*.*
586 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-rtcore.so.*.*
587 %attr(755,root,root) %{_libdir}/nvidia/libnvoptix.so.*.*
588 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvoptix.so.1
589 # which package should own those?
590 %dir %{_datadir}/egl
591 %dir %{_datadir}/egl/egl_external_platform.d
592 %{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json
593 %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
594 %{_datadir}/vulkan/icd.d/nvidia_icd.json
595 %endif
596
597 %if %{without system_libglvnd}
598 %files devel
599 %defattr(644,root,root,755)
600 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so
601 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so
602 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so
603 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so
604 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so
605 %{_pkgconfigdir}/gl.pc
606 %endif
607
608 %files doc
609 %defattr(644,root,root,755)
610 %doc html/*
611
612 %ifarch %{x8664}
613 %files progs
614 %defattr(644,root,root,755)
615 %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh
616 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-control
617 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-server
618 %attr(755,root,root) %{_bindir}/nvidia-smi
619 %attr(755,root,root) %{_bindir}/nvidia-xconfig
620 %{_mandir}/man1/nvidia-cuda-mps-control.1*
621 %{_mandir}/man1/nvidia-smi.1*
622 %{_mandir}/man1/nvidia-xconfig.1*
623 %if %{with settings}
624 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/nvidia-settings.sh
625 %attr(755,root,root) %{_bindir}/nvidia-settings
626 %{_mandir}/man1/nvidia-settings.1*
627 %{_desktopdir}/nvidia-settings.desktop
628 %{_pixmapsdir}/nvidia-settings.png
629 %endif
630 %endif
631 %endif
This page took 0.098254 seconds and 4 git commands to generate.