/[packages]/backports/5/nvidia-current/current/SPECS/nvidia-current.spec
ViewVC logotype

Contents of /backports/5/nvidia-current/current/SPECS/nvidia-current.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 817092 - (show annotations) (download)
Thu Feb 26 22:52:15 2015 UTC (9 years, 1 month ago) by tmb
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 42476 byte(s)
update to 346.47 (maintenance release)
1 # I love OpenSource :-(
2
3 ## NOTE: When modifying this .spec, you do not necessarily need to care about
4 ## the %simple stuff. It is fine to break them, I'll fix it when I need them :)
5 ## - Anssi
6
7 # %simple mode can be used to transform an arbitrary nvidia installer
8 # package to rpms, similar to %atibuild mode in fglrx.
9 # Macros version, rel, nsource, pkgname, distsuffix should be manually defined.
10 %define simple 0
11 %{?_without_simple: %global simple 0}
12 %{?_with_simple: %global simple 1}
13
14 %define name nvidia-current
15
16 %if !%simple
17 # When updating, please add new ids to ldetect-lst (merge2pcitable.pl)
18 %define version 346.47
19 %define rel 1
20 # the highest supported videodrv abi
21 %define videodrv_abi 19
22 %endif
23
24 %define priority 9700
25
26 %define pkgname32 NVIDIA-Linux-x86-%{version}
27 %define pkgname64 NVIDIA-Linux-x86_64-%{version}
28
29 # Disable when the sources aren't on ftp yet, but can be downloaded from
30 # http://us.download.nvidia.com
31 %define ftp 1
32
33 # For now, backportability is kept for 2008.0 forwards.
34
35 %define drivername nvidia-current
36 %define driverpkgname x11-driver-video-%{drivername}
37 %define modulename %{drivername}
38 # for description and documentation
39 %define cards GeForce 420 and later cards
40 %define xorg_extra_modules %{_libdir}/xorg/extra-modules
41 %define nvidia_driversdir %{_libdir}/%{drivername}/xorg
42 %define nvidia_extensionsdir %{_libdir}/%{drivername}/xorg
43 %define nvidia_modulesdir %{_libdir}/%{drivername}/xorg
44 %define nvidia_libdir %{_libdir}/%{drivername}
45 %define nvidia_libdir32 %{_prefix}/lib/%{drivername}
46 %define nvidia_bindir %{nvidia_libdir}/bin
47 %define nvidia_datadir %{_datadir}/nvidia-alt-%{drivername}
48 # The entry in Cards+ this driver should be associated with, if there is
49 # no entry in ldetect-lst default pcitable:
50 # cooker ldetect-lst should be up-to-date
51 %define ldetect_cards_name %nil
52
53 %if %simple
54 # assign a Cards+ entry according to Mageia version
55 %define ldetect_cards_name NVIDIA GeForce 420 series and later
56 %if %mgaversion <= 4
57 # nvidia/nouveau
58 %define ldetect_cards_name NVIDIA GeForce 400 series and later
59 %endif
60 %endif
61
62 %define biarches x86_64
63
64 %if !%simple
65 %ifarch %{ix86}
66 %define nsource %{SOURCE0}
67 %define pkgname %{pkgname32}
68 %endif
69 %ifarch x86_64
70 %define nsource %{SOURCE1}
71 %define pkgname %{pkgname64}
72 %endif
73 %endif
74
75 # Other packages should not require any NVIDIA libraries, and this package
76 # should not be pulled in when libGL.so.1 is required
77 %global __provides_exclude \\.so
78 %global common__requires_exclude ^libGL\\.so|^libGLcore\\.so|^libnvidia.*\\.so
79
80 %ifarch %{biarches}
81 # (anssi) Allow installing of 64-bit package if the runtime dependencies
82 # of 32-bit libraries are not satisfied. If a 32-bit package that requires
83 # libGL.so.1 is installed, the 32-bit mesa libs are pulled in and that will
84 # pull the dependencies of 32-bit nvidia libraries in as well.
85 %global __requires_exclude %common__requires_exclude|^libX11\\.so\\.6$|^libXext\\.so\\.6$|^libdl\\.so\\.2$|^libm\\.so\\.6$|^libpthread\\.so\\.0$|^librt\\.so\\.1$
86 %else
87 %global __requires_exclude %common__requires_exclude
88 %endif
89
90 # (anssi) Workaround wrong linking as of 310.19.
91 # This will probably be fixed soon (at least similar issues have been in the past).
92 # https://devtalk.nvidia.com/default/topic/523762/libnvidia-encode-so-310-19-has-dependency-on-missing-library/
93 %global __requires_exclude_from libnvidia-encode.so.%version
94
95 # backportability
96 %global _provides_exceptions %(echo '%__provides_exclude' | sed 's,|,\\\\|,g')
97 %global _requires_exceptions %(echo '%__requires_exclude' | sed 's,|,\\\\|,g')
98 %global _exclude_files_from_autoreq %(echo '%__requires_exclude_from' | sed 's,|,\\\\|,g')
99
100 Summary: NVIDIA proprietary X.org driver and libraries, current driver series
101 Name: %{name}
102 Version: %{version}
103 Release: %mkrel %{rel}
104 %if !%simple
105 %if %ftp
106 Source0: ftp://download.nvidia.com/XFree86/Linux-x86/%{version}/%{pkgname32}.run
107 Source1: ftp://download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
108 # GPLv2 source code; see also http://cgit.freedesktop.org/~aplattner/
109 Source2: ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{version}.tar.bz2
110 Source3: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{version}.tar.bz2
111 Source4: ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{version}.tar.bz2
112 Source5: ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{version}.tar.bz2
113 %else
114 Source0: http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/%{pkgname32}.run
115 Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
116 # GPLv2 source code; see also http://cgit.freedesktop.org/~aplattner/
117 Source2: http://us.download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{version}.tar.bz2
118 Source3: http://us.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{version}.tar.bz2
119 Source4: http://us.download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{version}.tar.bz2
120 Source5: http://us.download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{version}.tar.bz2
121 %endif
122 # Script for building rpms of arbitrary nvidia installers (needs this .spec appended)
123 Source10: nvidia-mgabuild-skel
124 # include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker
125 Patch3: nvidia-settings-include-xf86vmproto.patch
126 %endif
127
128 License: Freeware
129 BuildRoot: %{_tmppath}/%{name}-buildroot
130 URL: http://www.nvidia.com/object/unix.html
131 Group: System/Kernel and hardware
132 ExclusiveArch: %{ix86} x86_64
133 %if !%simple
134 BuildRequires: ImageMagick
135 BuildRequires: gtk+2-devel
136 BuildRequires: gtk+3-devel
137 BuildRequires: libxv-devel
138 BuildRequires: MesaGL-devel
139 BuildRequires: libxxf86vm-devel
140 BuildRequires: vdpau-devel >= 0.9
141 %endif
142
143 %description
144 Source package of the current NVIDIA proprietary driver. Binary
145 packages are named %{driverpkgname}.
146
147 %package -n %{driverpkgname}
148 Summary: NVIDIA proprietary X.org driver and libraries for %cards
149 Group: System/Kernel and hardware
150 Requires(post): update-alternatives >= 1.9.0
151 Requires(postun): update-alternatives >= 1.9.0
152 Requires: x11-server-common
153 Recommends: %{drivername}-doc-html = %{version}
154 # Proper support for versioned kmod() was added in 2008.1:
155 Requires: kmod(%{modulename}.ko) = %{version}
156 # At least mplayer dlopens libvdpau.so.1, so the software will not pull in
157 # the vdpau library package. We ensure its installation here.
158 Requires: %{_lib}vdpau1
159 %if !%simple && %mgaversion >= 2
160 Requires: xserver-abi(videodrv) < %(echo $((%{videodrv_abi}+1)))
161 %endif
162 Conflicts: nvidia-current-cuda-opencl <= 295.59-1
163 # Obsoletes for naming changes:
164 Obsoletes: nvidia < 1:%{version}-%{release}
165 Provides: nvidia = 1:%{version}-%{release}
166 Obsoletes: nvidia97xx < %{version}-%{release}
167 Provides: nvidia97xx = %{version}-%{release}
168
169 %description -n %{driverpkgname}
170 NVIDIA proprietary X.org graphics driver, related libraries and
171 configuration tools for %cards,
172 including the associated Quadro cards.
173
174 NOTE: You should use XFdrake to configure your NVIDIA card. The
175 correct packages will be automatically installed and configured.
176
177 If you do not want to use XFdrake, see README.manual-setup.
178
179 This NVIDIA driver should be used with %cards,
180 including the associated Quadro cards.
181
182 %package -n dkms-%{drivername}
183 Summary: NVIDIA kernel module for %cards
184 Group: System/Kernel and hardware
185 Requires: dkms
186 Requires(post): dkms
187 Requires(preun): dkms
188 Provides: kmod(%{modulename}.ko) = %{version}
189 Obsoletes: dkms-nvidia < 1:%{version}-%{release}
190 Provides: dkms-nvidia = 1:%{version}-%{release}
191 Obsoletes: dkms-nvidia97xx < %{version}-%{release}
192 Provides: dkms-nvidia97xx = %{version}-%{release}
193
194 %description -n dkms-%{drivername}
195 NVIDIA kernel module for %cards. This
196 is to be used with the %{driverpkgname} package.
197
198 %package -n %{drivername}-devel
199 Summary: NVIDIA OpenGL/CUDA development liraries and headers
200 Group: Development/C
201 Requires: %{driverpkgname} = %{version}-%{release}
202 Requires: %{drivername}-cuda-opencl = %{version}-%{release}
203 Obsoletes: nvidia-devel < 1:%{version}-%{release}
204 Provides: nvidia-devel = 1:%{version}-%{release}
205 Obsoletes: nvidia97xx-devel < %{version}-%{release}
206 Provides: nvidia97xx-devel = %{version}-%{release}
207 Requires: %{_lib}vdpau-devel
208
209 %description -n %{drivername}-devel
210 NVIDIA OpenGL/CUDA headers for %cards. This package
211 is not required for normal use.
212
213 %package -n %{drivername}-cuda-opencl
214 Summary: CUDA and OpenCL libraries for NVIDIA proprietary driver
215 Group: System/Kernel and hardware
216 Provides: %{drivername}-cuda = %{version}-%{release}
217 Requires: kmod(%{modulename}.ko) = %{version}
218 Conflicts: nvidia < 1:195.36.15-4
219 Conflicts: x11-driver-video-nvidia-current <= 295.59-1
220
221 %description -n %{drivername}-cuda-opencl
222 Cuda and OpenCL libraries for NVIDIA proprietary driver. This package is not
223 required for normal use, it provides libraries to use NVIDIA cards for High
224 Performance Computing (HPC).
225
226 # HTML doc splitted off because of size, for live cds:
227 %package -n %{drivername}-doc-html
228 Summary: NVIDIA html documentation (%{drivername})
229 Group: System/Kernel and hardware
230 Requires: %{driverpkgname} = %{version}-%{release}
231
232 %description -n %{drivername}-doc-html
233 HTML version of the README.txt file provided in package
234 %{driverpkgname}.
235
236 %prep
237 # No patches applied when %simple is set
238 %if %simple
239 %setup -q -c -T
240 %else
241 %setup -q -c -T -a 2 -a 3 -a 4 -a 5
242 cd nvidia-settings-%{version}
243 %patch3 -p1
244 cd ..
245 %endif
246 sh %{nsource} --extract-only
247
248 %if !%simple
249 cd %{pkgname}
250 %patch2 -p1
251 cd ..
252 %endif
253
254 rm -rf %{pkgname}/usr/src/nv/precompiled
255
256 %if %simple
257 # for old releases
258 mkdir -p %{pkgname}/kernel
259 %endif
260
261 # (tmb) nuke nVidia provided dkms.conf as we need our own
262 rm -f %{pkgname}/kernel/dkms.conf
263 rm -f %{pkgname}/kernel/uvm/dkms.conf.fragment
264
265 # install our own dkms.conf
266 cat > %{pkgname}/kernel/dkms.conf <<EOF
267 PACKAGE_NAME="%{drivername}"
268 PACKAGE_VERSION="%{version}-%{release}"
269 BUILT_MODULE_NAME[0]="nvidia"
270 DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm"
271 DEST_MODULE_NAME[0]="%{modulename}"
272 %ifarch x86_64
273 BUILT_MODULE_NAME[1]="nvidia-uvm"
274 BUILT_MODULE_LOCATION[1]="uvm/"
275 DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm"
276 %endif
277 MAKE[0]="make SYSSRC=\${kernel_source_dir} module"
278 %ifarch x86_64
279 MAKE[0]+="; make SYSSRC=\${kernel_source_dir} -C uvm module KBUILD_EXTMOD=\${dkms_tree}/%{drivername}/%{version}-%{release}/build/uvm"
280 %endif
281 CLEAN="make -f Makefile.kbuild clean"
282 %ifarch x86_64
283 CLEAN+="; make -C uvm clean"
284 %endif
285 AUTOINSTALL="yes"
286 EOF
287
288 %if %simple
289 # backward-compatibility randomness
290 if ! [ -e %{pkgname}/kernel/uvm ]; then
291 grep -v uvm %{pkgname}/kernel/dkms.conf > %{pkgname}/kernel/dkms.conf.2
292 mv -f %{pkgname}/kernel/dkms.conf.2 %{pkgname}/kernel/dkms.conf
293 fi
294 %endif
295
296 cat > README.install.urpmi <<EOF
297 This driver is for %cards.
298
299 Use XFdrake to configure X to use the correct NVIDIA driver. Any needed
300 packages will be automatically installed if not already present.
301 1. Run XFdrake as root.
302 2. Go to the Graphics Card list.
303 3. Select your card (it is usually already autoselected).
304 4. Answer any questions asked and then quit.
305
306 If you do not want to use XFdrake, see README.manual-setup.
307 EOF
308
309 cat > README.manual-setup <<EOF
310 This file describes the procedure for the manual installation of this NVIDIA
311 driver package. You can find the instructions for the recommended automatic
312 installation in the file 'README.install.urpmi' in this directory.
313
314 - Open %{_sysconfdir}/X11/xorg.conf and make the following changes:
315 o Change the Driver to "nvidia" in the Device section
316 o Make the line below the only 'glx' related line in the Module section,
317 adding it if it is not already there:
318 Load "glx"
319 o Remove any 'ModulePath' lines from the Files section
320 - Run "update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf" as root.
321 - Run "ldconfig -X" as root.
322 EOF
323
324 %if !%simple
325 #rm nvidia-settings-%{version}/src/*/*.a
326
327 %build
328 # The code contains dozens on top of dozens on top of dozens of "false" positives
329 export CFLAGS="%optflags -Wno-error=format-security"
330 export CXXFLAGS="$CFLAGS"
331 export LDFLAGS="%{?ldflags}"
332 %make -C nvidia-settings-%{version}/src/libXNVCtrl
333 %make -C nvidia-settings-%{version} STRIP_CMD=true
334 %make -C nvidia-xconfig-%{version} STRIP_CMD=true
335 %make -C nvidia-modprobe-%{version} STRIP_CMD=true
336 %make -C nvidia-persistenced-%{version} STRIP_CMD=true
337
338 # %simple
339 %endif
340
341 %install
342 rm -rf %{buildroot}
343 cd %{pkgname}
344
345 # menu entry
346 install -d -m755 %{buildroot}%{_datadir}/%{drivername}
347 cat > %{buildroot}%{_datadir}/%{drivername}/mageia-nvidia-settings.desktop <<EOF
348 [Desktop Entry]
349 Name=NVIDIA Display Settings
350 Comment=Configure NVIDIA X driver
351 Exec=%{_bindir}/nvidia-settings
352 Icon=%{drivername}-settings
353 Terminal=false
354 Type=Application
355 Categories=GTK;Settings;HardwareSettings;
356 EOF
357
358 install -d -m755 %{buildroot}%{_datadir}/applications
359 touch %{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop
360
361 # icons
362 install -d -m755 %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
363 %if !%simple
364 convert nvidia-settings.png -resize 16x16 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
365 convert nvidia-settings.png -resize 32x32 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
366 convert nvidia-settings.png -resize 48x48 %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
367 %else
368 # no imagemagick
369 [ -e nvidia-settings.png ] || cp -a usr/share/pixmaps/nvidia-settings.png .
370 install -m644 nvidia-settings.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
371 %endif
372
373 error_fatal() {
374 echo "Error: $@." >&2
375 exit 1
376 }
377
378 error_unhandled() {
379 echo "Warning: $@." >&2
380 echo "Warning: $@." >> warns.log
381 %if !%simple
382 # cause distro builds to fail in case of unhandled files
383 exit 1
384 %endif
385 }
386
387 parseparams() {
388 for value in $rest; do
389 local param=$1
390 [ -n "$param" ] || error_fatal "unhandled parameter $value"
391 shift
392 eval $param=$value
393
394 [ -n "$value" ] || error_fatal "empty $param"
395
396 # resolve libdir based on $arch
397 if [ "$param" = "arch" ]; then
398 case "$arch" in
399 NATIVE) nvidia_libdir=%{nvidia_libdir};;
400 COMPAT32) nvidia_libdir=%{nvidia_libdir32};;
401 *) error_fatal "unknown arch $arch"
402 esac
403 fi
404 done
405 }
406
407 add_to_list() {
408 %if !%simple
409 # on distro builds, only use .manifest for %doc files
410 [ "${2#%doc}" = "${2}" ] && return
411 %endif
412 local list="$1.files"
413 local entry="$2"
414 echo $entry >> $list
415 }
416
417 install_symlink() {
418 local pkg="$1"
419 local dir="$2"
420 mkdir -p %{buildroot}$dir
421 ln -s $dest %{buildroot}$dir/$file
422 add_to_list $pkg $dir/$file
423 }
424
425 install_lib_symlink() {
426 local pkg="$1"
427 local dir="$2"
428 case "$file" in
429 libvdpau_*.so)
430 # vdpau drivers => not put into -devel
431 ;;
432 *.so)
433 pkg=nvidia-devel;;
434 esac
435 install_symlink $pkg $dir
436 }
437
438 install_file_only() {
439 local pkg="$1"
440 local dir="$2"
441 mkdir -p %{buildroot}$dir
442 # replace 0444 with more usual 0644
443 [ "$perms" = "0444" ] && perms="0644"
444 install -m $perms $file %{buildroot}$dir
445 }
446
447 install_file() {
448 local pkg="$1"
449 local dir="$2"
450 install_file_only $pkg $dir
451 add_to_list $pkg $dir/$(basename $file)
452 }
453
454 get_module_dir() {
455 local subdir="$1"
456 case "$subdir" in
457 extensions*) echo %{nvidia_extensionsdir};;
458 drivers/) echo %{nvidia_driversdir};;
459 /) echo %{nvidia_modulesdir};;
460 *) error_unhandled "unhandled module subdir $subdir"
461 echo %{nvidia_modulesdir};;
462 esac
463 }
464
465 for file in nvidia.files nvidia-devel.files nvidia-cuda.files nvidia-dkms.files nvidia-html.files; do
466 rm -f $file
467 touch $file
468 done
469
470 # install files according to .manifest
471 cat .manifest | tail -n +9 | while read line; do
472 arch=
473 style=
474 subdir=
475 dest=
476 nvidia_libdir=
477
478 rest=${line}
479 file=${rest%%%% *}
480 rest=${rest#* }
481 perms=${rest%%%% *}
482 rest=${rest#* }
483 type=${rest%%%% *}
484 [ "${rest#* }" = "$rest" ] && rest= || rest=${rest#* }
485
486 case "$type" in
487 CUDA_LIB)
488 parseparams arch subdir
489 install_file nvidia-cuda $nvidia_libdir/$subdir
490 ;;
491 CUDA_SYMLINK)
492 parseparams arch subdir dest
493 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
494 ;;
495 ENCODEAPI_LIB)
496 parseparams arch subdir
497 install_file nvidia $nvidia_libdir/$subdir
498 ;;
499 ENCODEAPI_LIB_SYMLINK)
500 parseparams arch dest
501 install_lib_symlink nvidia $nvidia_libdir
502 ;;
503 EXPLICIT_PATH)
504 parseparams dest
505 dest="$(echo "$dest" | sed s,%{_datadir}/nvidia,%{nvidia_datadir},)"
506 install_file nvidia $dest
507 ;;
508 NVCUVID_LIB)
509 parseparams arch subdir
510 install_file nvidia-cuda $nvidia_libdir/$subdir
511 ;;
512 NVCUVID_LIB_SYMLINK)
513 parseparams arch dest
514 install_lib_symlink nvidia-cuda $nvidia_libdir
515 ;;
516 NVIFR_LIB)
517 parseparams arch subdir
518 install_file nvidia $nvidia_libdir/$subdir
519 ;;
520 NVIFR_LIB_SYMLINK)
521 parseparams arch dest
522 install_lib_symlink nvidia $nvidia_libdir
523 ;;
524 OPENCL_LIB)
525 parseparams arch subdir
526 install_file nvidia-cuda $nvidia_libdir/$subdir
527 ;;
528 OPENCL_LIB_SYMLINK)
529 parseparams arch subdir dest
530 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
531 ;;
532 OPENCL_WRAPPER_LIB)
533 parseparams arch subdir
534 install_file nvidia-cuda $nvidia_libdir/$subdir
535 ;;
536 OPENCL_WRAPPER_SYMLINK)
537 parseparams arch subdir dest
538 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
539 ;;
540 OPENGL_LIB)
541 parseparams arch
542 install_file nvidia $nvidia_libdir
543 ;;
544 OPENGL_SYMLINK)
545 parseparams arch dest
546 install_lib_symlink nvidia $nvidia_libdir
547 ;;
548 TLS_LIB)
549 parseparams arch style subdir
550 install_file nvidia $nvidia_libdir/$subdir
551 ;;
552 TLS_SYMLINK)
553 parseparams arch style subdir dest
554 install_lib_symlink nvidia $nvidia_libdir/$subdir
555 ;;
556 UTILITY_LIB)
557 %if !%simple
558 # skip libnvidia-gtk[23], we build those by ourself
559 echo "$file" | grep -q nvidia-gtk && continue
560 %endif
561 # backward-compatibility
562 [ -n "${rest}" ] || rest="NATIVE $rest"
563 parseparams arch subdir
564 install_file nvidia $nvidia_libdir/$subdir
565 ;;
566 UTILITY_LIB_SYMLINK)
567 # backward-compatibility
568 [ "${rest#* }" != "$rest" ] || rest="NATIVE $rest"
569 parseparams arch dest
570 install_lib_symlink nvidia $nvidia_libdir
571 ;;
572 VDPAU_LIB)
573 parseparams arch subdir
574 case $file in *libvdpau_nvidia.so*);; *) continue; esac
575 install_file nvidia $nvidia_libdir/$subdir
576 ;;
577 VDPAU_SYMLINK)
578 parseparams arch subdir dest
579 case $file in *libvdpau_nvidia.so*);; *) continue; esac
580 install_lib_symlink nvidia $nvidia_libdir/$subdir
581 ;;
582 VDPAU_WRAPPER_LIB)
583 parseparams arch subdir
584 case $file in *libvdpau_nvidia.so*);; *) continue; esac
585 install_file nvidia $nvidia_libdir/$subdir
586 ;;
587 VDPAU_WRAPPER_SYMLINK)
588 parseparams arch subdir dest
589 case $file in *libvdpau_nvidia.so*);; *) continue; esac
590 install_lib_symlink nvidia $nvidia_libdir/$subdir
591 ;;
592 XLIB_STATIC_LIB)
593 install_file nvidia-devel %{nvidia_libdir}
594 ;;
595 XLIB_SHARED_LIB)
596 install_file nvidia %{nvidia_libdir}
597 ;;
598 XLIB_SYMLINK)
599 parseparams dest
600 install_lib_symlink nvidia %{nvidia_libdir}
601 ;;
602 LIBGL_LA)
603 # (Anssi) we don't install .la files
604 ;;
605 XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
606 parseparams subdir
607 install_file nvidia $(get_module_dir $subdir)
608 ;;
609 XMODULE_NEWSYM)
610 # symlink that is created only if it doesn't already
611 # exist (i.e. as part of x11-server)
612 case "$file" in
613 libwfb.so)
614 continue
615 ;;
616 *)
617 error_unhandled "unknown XMODULE_NEWSYM type file $file, skipped"
618 continue
619 esac
620 parseparams subdir dest
621 install_symlink nvidia $(get_module_dir $subdir)
622 ;;
623 XORG_OUTPUTCLASS_CONFIG)
624 # (tmb) dont install xorg driver autoloader conf
625 continue
626 ;;
627 XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
628 parseparams subdir dest
629 install_symlink nvidia $(get_module_dir $subdir)
630 ;;
631 VDPAU_HEADER)
632 continue
633 parseparams subdir
634 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
635 ;;
636 OPENGL_HEADER|CUDA_HEADER)
637 parseparams subdir
638 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
639 ;;
640 DOCUMENTATION)
641 parseparams subdir
642 case $subdir in
643 */html)
644 add_to_list nvidia-html "%%doc %{pkgname}/$file"
645 continue
646 ;;
647 */include/*)
648 continue
649 ;;
650 esac
651 case $file in
652 *XF86Config*|*nvidia-settings.png)
653 continue;;
654 esac
655 add_to_list nvidia "%%doc %{pkgname}/$file"
656 ;;
657 MANPAGE|NVIDIA_MODPROBE_MANPAGE)
658 parseparams subdir
659 case "$file" in
660 *nvidia-installer*)
661 # not installed
662 continue
663 ;;
664 *nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
665 %if !%simple
666 # installed separately below
667 continue
668 %endif
669 ;;
670 *nvidia-smi*|*nvidia-cuda-mps-control*)
671 # ok
672 ;;
673 *)
674 error_unhandled "skipped unknown man page $(basename $file)"
675 continue
676 esac
677 install_file_only nvidia %{_mandir}/$subdir
678 ;;
679 UTILITY_BINARY)
680 case "$file" in
681 *nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
682 %if !%simple
683 # not installed, we install our own copy
684 continue
685 %endif
686 ;;
687 *nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
688 # ok
689 ;;
690 *nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
691 # ok
692 ;;
693 *)
694 error_unhandled "unknown binary $(basename $file) will be installed to %{nvidia_bindir}/$(basename $file)"
695 ;;
696 esac
697 install_file nvidia %{nvidia_bindir}
698 ;;
699 UTILITY_BIN_SYMLINK)
700 case $file in nvidia-uninstall) continue;; esac
701 parseparams dest
702 install_symlink nvidia %{nvidia_bindir}
703 ;;
704 NVIDIA_MODPROBE)
705 # A suid-root tool (GPLv2) used as fallback for loading the module and
706 # creating the device nodes in case the driver component is running as
707 # a non-root user (e.g. a CUDA application). While the module is automatically
708 # loaded by udev rules, the device nodes are not automatically created
709 # like with regular drivers and therefore this tool is installed on
710 # Mageia as well, at least for now.
711
712 # We install our self-compiled version in non-simple mode
713 %if %simple
714 install_file nvidia %{nvidia_bindir}
715 %endif
716 ;;
717 INSTALLER_BINARY)
718 # not installed
719 ;;
720 KERNEL_MODULE_SRC)
721 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}
722 ;;
723 CUDA_ICD)
724 # in theory this should go to the cuda subpackage, but it goes into the main package
725 # as this avoids one broken symlink and it is small enough to not cause space issues
726 install_file nvidia %{_sysconfdir}/%{drivername}
727 ;;
728 APPLICATION_PROFILE)
729 parseparams subdir
730 install_file nvidia %{nvidia_datadir}/$subdir
731 ;;
732 DOT_DESKTOP)
733 # we provide our own for now
734 ;;
735 UVM_MODULE_SRC)
736 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm
737 ;;
738 *)
739 error_unhandled "file $(basename $file) of unknown type $type will be skipped"
740 esac
741 done
742
743 [ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or http://bugs.mageia.org/ of the above warnings." >> warns.log
744
745 %if %simple
746 find %{buildroot}%{_libdir} %{buildroot}%{_prefix}/lib -type d | while read dir; do
747 dir=${dir#%{buildroot}}
748 echo "$dir" | grep -q nvidia && echo "%%dir $dir" >> nvidia.files
749 done
750 [ -d %{buildroot}%{_includedir}/%{drivername} ] && echo "%{_includedir}/%{drivername}" >> nvidia-devel.files
751
752 # for old releases in %%simple mode
753 if ! [ -e %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf ]; then
754 install -m644 kernel/dkms.conf %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf
755 fi
756 %endif
757
758 %if !%simple
759 # confirm SONAME; if something else than libvdpau_nvidia.so or libvdpau_nvidia.so.1, adapt .spec as needed:
760 [ "$(objdump -p %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} | grep SONAME | gawk '{ print $2 }')" = "libvdpau_nvidia.so.1" ]
761
762 rm -f %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
763 rm -f %{buildroot}%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
764 %endif
765
766 # vdpau alternative symlink
767 install -d -m755 %{buildroot}%{_libdir}/vdpau
768 touch %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1
769 %ifarch %{biarches}
770 install -d -m755 %{buildroot}%{_prefix}/lib/vdpau
771 touch %{buildroot}%{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
772 %endif
773
774 %if !%simple
775 # self-built binaries
776 install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
777 install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
778 install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
779 install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
780 # nvidia-settings dlopens libnvidia-gtk*.so.VERSION
781 for file in ../nvidia-settings-%{version}/src/_out/*/libnvidia-gtk*.so; do
782 install -m755 ${file} %{buildroot}%{nvidia_libdir}/$(basename "$file").%{version}
783 done
784 %endif
785 # binary alternatives
786 install -d -m755 %{buildroot}%{_bindir}
787 touch %{buildroot}%{_bindir}/nvidia-debugdump
788 touch %{buildroot}%{_bindir}/nvidia-settings
789 touch %{buildroot}%{_bindir}/nvidia-smi
790 touch %{buildroot}%{_bindir}/nvidia-xconfig
791 touch %{buildroot}%{_bindir}/nvidia-bug-report.sh
792 touch %{buildroot}%{_bindir}/nvidia-modprobe
793 touch %{buildroot}%{_bindir}/nvidia-persistenced
794 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-control
795 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-server
796 # rpmlint:
797 chmod 0755 %{buildroot}%{_bindir}/*
798
799 # datadir alternative
800 mkdir -p %{buildroot}%{_datadir}/nvidia
801
802 %if !%simple
803 # See posttrans script
804 for file in %{buildroot}%{nvidia_datadir}/pci.ids %{buildroot}%{nvidia_datadir}/monitoring.conf; do
805 ln -T "$file" "%{buildroot}%{_datadir}/%{drivername}/$(basename "$file").mga"
806 done
807
808 # install man pages
809 install -m644 ../nvidia-settings-%{version}/doc/_out/*/nvidia-settings.1 %{buildroot}%{_mandir}/man1
810 install -m644 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig.1 %{buildroot}%{_mandir}/man1
811 install -m644 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe.1 %{buildroot}%{_mandir}/man1
812 install -m644 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced.1 %{buildroot}%{_mandir}/man1
813 %endif
814 # bug #41638 - whatis entries of nvidia man pages appear wrong
815 gunzip %{buildroot}%{_mandir}/man1/*.gz
816 sed -r -i '/^nvidia\\-[a-z]+ \\- NVIDIA/s,^nvidia\\-,nvidia-,' %{buildroot}%{_mandir}/man1/*.1
817 cd %{buildroot}%{_mandir}/man1
818 rename nvidia alt-%{drivername} *
819 cd -
820 touch %{buildroot}%{_mandir}/man1/nvidia-xconfig.1%{_extension}
821 touch %{buildroot}%{_mandir}/man1/nvidia-settings.1%{_extension}
822 touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
823 touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
824 touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
825 touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
826
827 # cuda nvidia.icd
828 install -d -m755 %{buildroot}%{_sysconfdir}/OpenCL/vendors
829 touch %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidia.icd
830
831 # ld.so.conf
832 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
833 echo "%{nvidia_libdir}" > %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
834 %ifarch %{biarches}
835 echo "%{nvidia_libdir32}" >> %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
836 %endif
837 install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
838 touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf
839
840 # modprobe.conf
841 install -d -m755 %{buildroot}%{_sysconfdir}/modprobe.d
842 touch %{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
843 echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
844
845 # xinit script
846 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
847 cat > %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit <<EOF
848 # to be sourced
849 #
850 # Do not modify this file; the changes will be overwritten.
851 # If you want to disable automatic configuration loading, create
852 # /etc/sysconfig/nvidia-settings with this line: LOAD_NVIDIA_SETTINGS="no"
853 #
854 LOAD_NVIDIA_SETTINGS="yes"
855 [ -f %{_sysconfdir}/sysconfig/nvidia-settings ] && . %{_sysconfdir}/sysconfig/nvidia-settings
856 [ "\$LOAD_NVIDIA_SETTINGS" = "yes" ] && %{_bindir}/nvidia-settings --load-config-only
857 EOF
858 chmod 0755 %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit
859 install -d -m755 %{buildroot}%{_sysconfdir}/X11/xinit.d
860 touch %{buildroot}%{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
861
862 # install ldetect-lst pcitable files for backports
863 # local version of merge2pcitable.pl:read_nvidia_readme:
864 section="nothingyet"
865 set +x
866 [ -e README.txt ] || cp -a usr/share/doc/README.txt .
867 cat README.txt | while read line; do
868 if [ "$section" = "nothingyet" ] || [ "$section" = "midspace" ]; then
869 if echo "$line" | grep -Pq "^\s*NVIDIA GPU product\s+Device PCI ID"; then
870 section="data"
871 elif [ "$section" = "midspace" ] && echo "$line" | grep -Pq "legacy"; then
872 break
873 fi
874 continue
875 fi
876
877 if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
878 section="midspace"
879 continue
880 fi
881
882 echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
883 id=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+(0x)?([0-9a-fA-F]{4}).*$,\2,p' | tr '[:upper:]' '[:lower:]')
884 #id2=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....)\s0x(....).*$,\2,p' | tr '[:upper:]' '[:lower:]')
885 subsysid=
886 # not useful as of 2013-05 -Anssi
887 #[ -n "$id2" ] && subsysid=" 0x10de 0x$id2"
888 echo "0x10de 0x$id$subsysid \"Card:%{ldetect_cards_name}\""
889 done | sort -u > pcitable.nvidia.lst
890 set -x
891 [ $(wc -l pcitable.nvidia.lst | cut -f1 -d" ") -gt 200 ]
892 %if "%{ldetect_cards_name}" != ""
893 install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d
894 gzip -c pcitable.nvidia.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
895 %endif
896
897 export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced \! -name 'libnvidia-gtk*.so')"
898
899 %pretrans -n %{driverpkgname}
900 # Migrate old non-alternativeszificated datadir
901 if ! [ -L %{_datadir}/nvidia ] && [ -d %{_datadir}/nvidia ]; then
902 if ! [ -e %{nvidia_datadir} ]; then
903 mv -T %{_datadir}/nvidia %{nvidia_datadir}
904 else
905 # should not really be encountered
906 mv -T %{_datadir}/nvidia %{_datadir}/nvidia.${RANDOM}
907 fi
908 fi
909
910 %post -n %{driverpkgname}
911 # XFdrake used to generate an nvidia.conf file
912 [ -L %{_sysconfdir}/modprobe.d/nvidia.conf ] || rm -f %{_sysconfdir}/modprobe.d/nvidia.conf
913
914 current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)"
915
916 # owned by libvdpau1, created in case libvdpau1 is installed only just after
917 # this package
918 mkdir -p %{_libdir}/vdpau
919
920 %{_sbindir}/update-alternatives \
921 --install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
922 --slave %{_mandir}/man1/nvidia-settings.1%{_extension} man_nvidiasettings%{_extension} %{_mandir}/man1/alt-%{drivername}-settings.1%{_extension} \
923 --slave %{_mandir}/man1/nvidia-xconfig.1%{_extension} man_nvidiaxconfig%{_extension} %{_mandir}/man1/alt-%{drivername}-xconfig.1%{_extension} \
924 --slave %{_mandir}/man1/nvidia-smi.1%{_extension} nvidia-smi.1%{_extension} %{_mandir}/man1/alt-%{drivername}-smi.1%{_extension} \
925 --slave %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension} nvidia-cuda-mps-control.1%{_extension} %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1%{_extension} \
926 --slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
927 --slave %{_bindir}/nvidia-settings nvidia_settings %{nvidia_bindir}/nvidia-settings \
928 --slave %{_bindir}/nvidia-smi nvidia_smi %{nvidia_bindir}/nvidia-smi \
929 --slave %{_bindir}/nvidia-xconfig nvidia_xconfig %{nvidia_bindir}/nvidia-xconfig \
930 --slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
931 --slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
932 --slave %{_bindir}/nvidia-cuda-mps-control nvidia-cuda-mps-control %{nvidia_bindir}/nvidia-cuda-mps-control \
933 --slave %{_bindir}/nvidia-cuda-mps-server nvidia-cuda-mps-server %{nvidia_bindir}/nvidia-cuda-mps-server \
934 --slave %{_bindir}/nvidia-modprobe nvidia-modprobe %{nvidia_bindir}/nvidia-modprobe \
935 --slave %{_bindir}/nvidia-persistenced nvidia-persistenced %{nvidia_bindir}/nvidia-persistenced \
936 --slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
937 --slave %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_lib}vdpau_nvidia.so.1 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} \
938 --slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
939 --slave %{_sysconfdir}/OpenCL/vendors/nvidia.icd nvidia.icd %{_sysconfdir}/%{drivername}/nvidia.icd \
940 %ifarch %{biarches}
941 --slave %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} \
942 %endif
943 --slave %{xorg_extra_modules} xorg_extra_modules %{nvidia_extensionsdir} \
944 --slave %{_datadir}/nvidia nvidia_datadir %{nvidia_datadir} \
945
946 if [ "${current_glconf}" = "%{_sysconfdir}/nvidia97xx/ld.so.conf" ]; then
947 # Adapt for the renaming of the driver. X.org config still has the old ModulePaths
948 # but they do not matter as we are using alternatives for libglx.so now.
949 %{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
950 fi
951 # explicit /sbin/ldconfig due to alternatives
952 /sbin/ldconfig -X
953
954 %if "%{ldetect_cards_name}" != ""
955 [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
956 %endif
957
958 %posttrans -n %{driverpkgname}
959 # When upgrading 340 => 346, the alternativeszification of /usr/share/nvidia may
960 # cause uninstallation of 340 (during upgrade) to remove these files through
961 # the /usr/share/nvidia symlink. Restore them.
962 for file in %{nvidia_datadir}/pci.ids %{nvidia_datadir}/monitoring.conf; do
963 backupfile="%{_datadir}/%{drivername}/$(basename "$file").mga"
964 if ! [ -e $file ] && [ -e "$backupfile" ]; then
965 ln -T "$backupfile" "$file"
966 fi
967 done
968
969 %postun -n %{driverpkgname}
970 if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
971 %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
972 fi
973 # explicit /sbin/ldconfig due to alternatives
974 /sbin/ldconfig -X
975
976 %if "%{ldetect_cards_name}" != ""
977 [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
978 %endif
979
980 %post -n %{drivername}-cuda-opencl
981 # explicit /sbin/ldconfig due to a non-standard library directory
982 /sbin/ldconfig -X
983
984 %post -n dkms-%{drivername}
985 /usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release} &&
986 /usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} &&
987 /usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force
988
989 # rmmod any old driver if present and not in use (e.g. by X)
990 rmmod nvidia > /dev/null 2>&1 || true
991
992 %preun -n dkms-%{drivername}
993 /usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all
994
995 # rmmod any old driver if present and not in use (e.g. by X)
996 rmmod nvidia > /dev/null 2>&1 || true
997
998 %clean
999 rm -rf %{buildroot}
1000
1001 %files -n %{driverpkgname} -f %{pkgname}/nvidia.files
1002 %defattr(-,root,root)
1003 # other documentation files are listed in nvidia.files
1004 %doc README.install.urpmi README.manual-setup
1005
1006 %if "%{ldetect_cards_name}" != ""
1007 %{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
1008 %endif
1009
1010 # ld.so.conf, modprobe.conf, xinit
1011 %ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
1012 %ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
1013 %ghost %{_sysconfdir}/modprobe.d/display-driver.conf
1014 %dir %{_sysconfdir}/%{drivername}
1015 %{_sysconfdir}/%{drivername}/modprobe.conf
1016 %{_sysconfdir}/%{drivername}/ld.so.conf
1017 %{_sysconfdir}/%{drivername}/nvidia-settings.xinit
1018 %ghost %{_datadir}/nvidia
1019 %if !%simple
1020 %{_sysconfdir}/%{drivername}/nvidia.icd
1021 %dir %{nvidia_datadir}
1022 %{nvidia_datadir}/nvidia-application-profiles-%{version}-rc
1023 %{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation
1024 %{nvidia_datadir}/monitoring.conf
1025 %{nvidia_datadir}/pci.ids
1026 # backups, see posttrans
1027 %{_datadir}/%{drivername}/monitoring.conf.mga
1028 %{_datadir}/%{drivername}/pci.ids.mga
1029 %endif
1030
1031 %dir %{_sysconfdir}/OpenCL
1032 %dir %{_sysconfdir}/OpenCL/vendors
1033 %ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
1034
1035 %ghost %{_bindir}/nvidia-debugdump
1036 %ghost %{_bindir}/nvidia-settings
1037 %ghost %{_bindir}/nvidia-smi
1038 %ghost %{_bindir}/nvidia-xconfig
1039 %ghost %{_bindir}/nvidia-modprobe
1040 %ghost %{_bindir}/nvidia-persistenced
1041 %ghost %{_bindir}/nvidia-bug-report.sh
1042 %ghost %{_bindir}/nvidia-cuda-mps-control
1043 %ghost %{_bindir}/nvidia-cuda-mps-server
1044 %if !%simple
1045 %dir %{nvidia_bindir}
1046 %{nvidia_bindir}/nvidia-debugdump
1047 %{nvidia_bindir}/nvidia-settings
1048 %{nvidia_bindir}/nvidia-smi
1049 %{nvidia_bindir}/nvidia-xconfig
1050 %{nvidia_bindir}/nvidia-modprobe
1051 %{nvidia_bindir}/nvidia-persistenced
1052 %{nvidia_bindir}/nvidia-bug-report.sh
1053 %{nvidia_bindir}/nvidia-cuda-mps-control
1054 %{nvidia_bindir}/nvidia-cuda-mps-server
1055 %endif
1056
1057 %ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
1058 %ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
1059 %ghost %{_mandir}/man1/nvidia-modprobe.1%{_extension}
1060 %ghost %{_mandir}/man1/nvidia-persistenced.1%{_extension}
1061 %ghost %{_mandir}/man1/nvidia-smi.1%{_extension}
1062 %ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
1063 %if !%simple
1064 %{_mandir}/man1/alt-%{drivername}-xconfig.1*
1065 %{_mandir}/man1/alt-%{drivername}-settings.1*
1066 %{_mandir}/man1/alt-%{drivername}-modprobe.1*
1067 %{_mandir}/man1/alt-%{drivername}-persistenced.1*
1068 %{_mandir}/man1/alt-%{drivername}-smi.1*
1069 %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
1070 %else
1071 %{_mandir}/man1/alt-%{drivername}-*
1072 %endif
1073
1074 %ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
1075 %dir %{_datadir}/%{drivername}
1076 %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop
1077
1078 %if !%simple
1079 %{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
1080 %{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
1081 %endif
1082 %{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
1083
1084 %if !%simple
1085 %dir %{nvidia_libdir}
1086 %dir %{nvidia_libdir}/tls
1087 %dir %{nvidia_libdir}/vdpau
1088 %{nvidia_libdir}/libGL.so.%{version}
1089 %{nvidia_libdir}/libnvidia-cfg.so.%{version}
1090 %{nvidia_libdir}/libnvidia-glcore.so.%{version}
1091 %{nvidia_libdir}/libnvidia-tls.so.%{version}
1092 %{nvidia_libdir}/libEGL.so.1
1093 %{nvidia_libdir}/libEGL.so.%{version}
1094 %{nvidia_libdir}/libGL.so.1
1095 %{nvidia_libdir}/libGLESv1_CM.so.1
1096 %{nvidia_libdir}/libGLESv1_CM.so.%{version}
1097 %{nvidia_libdir}/libGLESv2.so.2
1098 %{nvidia_libdir}/libGLESv2.so.%{version}
1099 %{nvidia_libdir}/libnvidia-cfg.so.1
1100 %{nvidia_libdir}/libnvidia-eglcore.so.%{version}
1101 %{nvidia_libdir}/libnvidia-fbc.so.1
1102 %{nvidia_libdir}/libnvidia-fbc.so.%{version}
1103 %{nvidia_libdir}/libnvidia-glsi.so.%{version}
1104 %{nvidia_libdir}/libnvidia-gtk2.so.%{version}
1105 %{nvidia_libdir}/libnvidia-gtk3.so.%{version}
1106 %{nvidia_libdir}/libnvidia-ifr.so.1
1107 %{nvidia_libdir}/libnvidia-ifr.so.%{version}
1108 %{nvidia_libdir}/libnvidia-ml.so.1
1109 %{nvidia_libdir}/libnvidia-ml.so.%{version}
1110 %{nvidia_libdir}/libvdpau_nvidia.so
1111 %{nvidia_libdir}/tls/libnvidia-tls.so.%{version}
1112 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
1113 %ifarch %{biarches}
1114 %dir %{nvidia_libdir32}
1115 %dir %{nvidia_libdir32}/tls
1116 %dir %{nvidia_libdir32}/vdpau
1117 %{nvidia_libdir32}/libEGL.so.1
1118 %{nvidia_libdir32}/libEGL.so.%{version}
1119 %{nvidia_libdir32}/libGL.so.1
1120 %{nvidia_libdir32}/libGL.so.%{version}
1121 %{nvidia_libdir32}/libGLESv1_CM.so.1
1122 %{nvidia_libdir32}/libGLESv1_CM.so.%{version}
1123 %{nvidia_libdir32}/libGLESv2.so.2
1124 %{nvidia_libdir32}/libGLESv2.so.%{version}
1125 %{nvidia_libdir32}/libnvidia-eglcore.so.%{version}
1126 %{nvidia_libdir32}/libnvidia-fbc.so.1
1127 %{nvidia_libdir32}/libnvidia-fbc.so.%{version}
1128 %{nvidia_libdir32}/libnvidia-glcore.so.%{version}
1129 %{nvidia_libdir32}/libnvidia-glsi.so.%{version}
1130 %{nvidia_libdir32}/libnvidia-ifr.so.1
1131 %{nvidia_libdir32}/libnvidia-ifr.so.%{version}
1132 %{nvidia_libdir32}/libnvidia-ml.so.1
1133 %{nvidia_libdir32}/libnvidia-ml.so.%{version}
1134 %{nvidia_libdir32}/libnvidia-tls.so.%{version}
1135 %{nvidia_libdir32}/libvdpau_nvidia.so
1136 %{nvidia_libdir32}/tls/libnvidia-tls.so.%{version}
1137 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
1138 %endif
1139 # %simple
1140 %endif
1141
1142 %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
1143 %ifarch %{biarches}
1144 # avoid unowned directory
1145 %dir %{_prefix}/lib/vdpau
1146 %ghost %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
1147 %endif
1148
1149 %if !%simple
1150 %dir %{nvidia_modulesdir}
1151 %{nvidia_modulesdir}/libnvidia-wfb.so.1
1152 %endif
1153
1154 %if !%simple
1155 %{nvidia_modulesdir}/libnvidia-wfb.so.%{version}
1156 %endif
1157
1158 %if !%simple
1159 %{nvidia_extensionsdir}/libglx.so.%{version}
1160 %{nvidia_extensionsdir}/libglx.so
1161 %endif
1162
1163 %if !%simple
1164 %{nvidia_driversdir}/nvidia_drv.so
1165 %endif
1166
1167 %files -n %{drivername}-devel -f %pkgname/nvidia-devel.files
1168 %defattr(-,root,root)
1169 %if !%simple
1170 %{_includedir}/%{drivername}
1171 %{nvidia_libdir}/libEGL.so
1172 %{nvidia_libdir}/libGL.so
1173 %{nvidia_libdir}/libGLESv1_CM.so
1174 %{nvidia_libdir}/libGLESv2.so
1175 %{nvidia_libdir}/libOpenCL.so
1176 %{nvidia_libdir}/libcuda.so
1177 %{nvidia_libdir}/libnvcuvid.so
1178 %{nvidia_libdir}/libnvidia-cfg.so
1179 %{nvidia_libdir}/libnvidia-encode.so
1180 %{nvidia_libdir}/libnvidia-fbc.so
1181 %{nvidia_libdir}/libnvidia-ifr.so
1182 %{nvidia_libdir}/libnvidia-ml.so
1183 %ifarch %{biarches}
1184 %{nvidia_libdir32}/libEGL.so
1185 %{nvidia_libdir32}/libGL.so
1186 %{nvidia_libdir32}/libGLESv1_CM.so
1187 %{nvidia_libdir32}/libGLESv2.so
1188 %{nvidia_libdir32}/libOpenCL.so
1189 %{nvidia_libdir32}/libcuda.so
1190 %{nvidia_libdir32}/libnvcuvid.so
1191 %{nvidia_libdir32}/libnvidia-encode.so
1192 %{nvidia_libdir32}/libnvidia-fbc.so
1193 %{nvidia_libdir32}/libnvidia-ifr.so
1194 %{nvidia_libdir32}/libnvidia-ml.so
1195 %endif
1196 %endif
1197
1198 %files -n dkms-%{drivername}
1199 %defattr(-,root,root)
1200 %doc %{pkgname}/LICENSE
1201 %{_usrsrc}/%{drivername}-%{version}-%{release}
1202
1203 %files -n %{drivername}-doc-html -f %pkgname/nvidia-html.files
1204 %defattr(-,root,root)
1205
1206 %files -n %{drivername}-cuda-opencl -f %pkgname/nvidia-cuda.files
1207 %defattr(-,root,root)
1208 # Do not preferably add any alternativeszificated binaries here,
1209 # they cause broken symlinks.
1210 %if !%simple
1211 %{nvidia_libdir}/libOpenCL.so.1.0.0
1212 %{nvidia_libdir}/libOpenCL.so.1.0
1213 %{nvidia_libdir}/libOpenCL.so.1
1214 %{nvidia_libdir}/libnvcuvid.so.%{version}
1215 %{nvidia_libdir}/libnvcuvid.so.1
1216 %{nvidia_libdir}/libnvidia-compiler.so.%{version}
1217 %{nvidia_libdir}/libnvidia-encode.so.1
1218 %{nvidia_libdir}/libnvidia-encode.so.%{version}
1219 %{nvidia_libdir}/libnvidia-opencl.so.1
1220 %{nvidia_libdir}/libnvidia-opencl.so.%{version}
1221 %{nvidia_libdir}/libcuda.so.%{version}
1222 %{nvidia_libdir}/libcuda.so.1
1223 %ifarch %{biarches}
1224 %{nvidia_libdir32}/libOpenCL.so.1.0.0
1225 %{nvidia_libdir32}/libOpenCL.so.1.0
1226 %{nvidia_libdir32}/libOpenCL.so.1
1227 %{nvidia_libdir32}/libnvcuvid.so.%{version}
1228 %{nvidia_libdir32}/libnvcuvid.so.1
1229 %{nvidia_libdir32}/libnvidia-compiler.so.%{version}
1230 %{nvidia_libdir32}/libnvidia-encode.so.1
1231 %{nvidia_libdir32}/libnvidia-encode.so.%{version}
1232 %{nvidia_libdir32}/libnvidia-opencl.so.1
1233 %{nvidia_libdir32}/libnvidia-opencl.so.%{version}
1234 %{nvidia_libdir32}/libcuda.so.%{version}
1235 %{nvidia_libdir32}/libcuda.so.1
1236 %endif
1237 %endif

  ViewVC Help
Powered by ViewVC 1.1.30