/[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 837782 - (show annotations) (download)
Sun Jun 21 10:56:05 2015 UTC (8 years, 10 months ago) by tmb
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 42469 byte(s)
update to 352.21 (new long lived branch)
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 352.21
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 #cd ..
251 #endif
252
253 rm -rf %{pkgname}/usr/src/nv/precompiled
254
255 %if %simple
256 # for old releases
257 mkdir -p %{pkgname}/kernel
258 %endif
259
260 # (tmb) nuke nVidia provided dkms.conf as we need our own
261 rm -f %{pkgname}/kernel/dkms.conf
262 rm -f %{pkgname}/kernel/uvm/dkms.conf.fragment
263
264 # install our own dkms.conf
265 cat > %{pkgname}/kernel/dkms.conf <<EOF
266 PACKAGE_NAME="%{drivername}"
267 PACKAGE_VERSION="%{version}-%{release}"
268 BUILT_MODULE_NAME[0]="nvidia"
269 DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm"
270 DEST_MODULE_NAME[0]="%{modulename}"
271 %ifarch x86_64
272 BUILT_MODULE_NAME[1]="nvidia-uvm"
273 BUILT_MODULE_LOCATION[1]="uvm/"
274 DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm"
275 %endif
276 MAKE[0]="make SYSSRC=\${kernel_source_dir} module"
277 %ifarch x86_64
278 MAKE[0]+="; make SYSSRC=\${kernel_source_dir} -C uvm module KBUILD_EXTMOD=\${dkms_tree}/%{drivername}/%{version}-%{release}/build/uvm"
279 %endif
280 CLEAN="make -f Makefile.kbuild clean"
281 %ifarch x86_64
282 CLEAN+="; make -C uvm clean"
283 %endif
284 AUTOINSTALL="yes"
285 EOF
286
287 %if %simple
288 # backward-compatibility randomness
289 if ! [ -e %{pkgname}/kernel/uvm ]; then
290 grep -v uvm %{pkgname}/kernel/dkms.conf > %{pkgname}/kernel/dkms.conf.2
291 mv -f %{pkgname}/kernel/dkms.conf.2 %{pkgname}/kernel/dkms.conf
292 fi
293 %endif
294
295 cat > README.install.urpmi <<EOF
296 This driver is for %cards.
297
298 Use XFdrake to configure X to use the correct NVIDIA driver. Any needed
299 packages will be automatically installed if not already present.
300 1. Run XFdrake as root.
301 2. Go to the Graphics Card list.
302 3. Select your card (it is usually already autoselected).
303 4. Answer any questions asked and then quit.
304
305 If you do not want to use XFdrake, see README.manual-setup.
306 EOF
307
308 cat > README.manual-setup <<EOF
309 This file describes the procedure for the manual installation of this NVIDIA
310 driver package. You can find the instructions for the recommended automatic
311 installation in the file 'README.install.urpmi' in this directory.
312
313 - Open %{_sysconfdir}/X11/xorg.conf and make the following changes:
314 o Change the Driver to "nvidia" in the Device section
315 o Make the line below the only 'glx' related line in the Module section,
316 adding it if it is not already there:
317 Load "glx"
318 o Remove any 'ModulePath' lines from the Files section
319 - Run "update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf" as root.
320 - Run "ldconfig -X" as root.
321 EOF
322
323 %if !%simple
324 #rm nvidia-settings-%{version}/src/*/*.a
325
326 %build
327 # The code contains dozens on top of dozens on top of dozens of "false" positives
328 export CFLAGS="%optflags -Wno-error=format-security"
329 export CXXFLAGS="$CFLAGS"
330 export LDFLAGS="%{?ldflags}"
331 %make -C nvidia-settings-%{version}/src/libXNVCtrl
332 %make -C nvidia-settings-%{version} STRIP_CMD=true
333 %make -C nvidia-xconfig-%{version} STRIP_CMD=true
334 %make -C nvidia-modprobe-%{version} STRIP_CMD=true
335 %make -C nvidia-persistenced-%{version} STRIP_CMD=true
336
337 # %simple
338 %endif
339
340 %install
341 rm -rf %{buildroot}
342 cd %{pkgname}
343
344 # menu entry
345 install -d -m755 %{buildroot}%{_datadir}/%{drivername}
346 cat > %{buildroot}%{_datadir}/%{drivername}/mageia-nvidia-settings.desktop <<EOF
347 [Desktop Entry]
348 Name=NVIDIA Display Settings
349 Comment=Configure NVIDIA X driver
350 Exec=%{_bindir}/nvidia-settings
351 Icon=%{drivername}-settings
352 Terminal=false
353 Type=Application
354 Categories=GTK;Settings;HardwareSettings;
355 EOF
356
357 install -d -m755 %{buildroot}%{_datadir}/applications
358 touch %{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop
359
360 # icons
361 install -d -m755 %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
362 %if !%simple
363 convert nvidia-settings.png -resize 16x16 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
364 convert nvidia-settings.png -resize 32x32 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
365 convert nvidia-settings.png -resize 48x48 %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
366 %else
367 # no imagemagick
368 [ -e nvidia-settings.png ] || cp -a usr/share/pixmaps/nvidia-settings.png .
369 install -m644 nvidia-settings.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
370 %endif
371
372 error_fatal() {
373 echo "Error: $@." >&2
374 exit 1
375 }
376
377 error_unhandled() {
378 echo "Warning: $@." >&2
379 echo "Warning: $@." >> warns.log
380 %if !%simple
381 # cause distro builds to fail in case of unhandled files
382 exit 1
383 %endif
384 }
385
386 parseparams() {
387 for value in $rest; do
388 local param=$1
389 [ -n "$param" ] || error_fatal "unhandled parameter $value"
390 shift
391 eval $param=$value
392
393 [ -n "$value" ] || error_fatal "empty $param"
394
395 # resolve libdir based on $arch
396 if [ "$param" = "arch" ]; then
397 case "$arch" in
398 NATIVE) nvidia_libdir=%{nvidia_libdir};;
399 COMPAT32) nvidia_libdir=%{nvidia_libdir32};;
400 *) error_fatal "unknown arch $arch"
401 esac
402 fi
403 done
404 }
405
406 add_to_list() {
407 %if !%simple
408 # on distro builds, only use .manifest for %doc files
409 [ "${2#%doc}" = "${2}" ] && return
410 %endif
411 local list="$1.files"
412 local entry="$2"
413 echo $entry >> $list
414 }
415
416 install_symlink() {
417 local pkg="$1"
418 local dir="$2"
419 mkdir -p %{buildroot}$dir
420 ln -s $dest %{buildroot}$dir/$file
421 add_to_list $pkg $dir/$file
422 }
423
424 install_lib_symlink() {
425 local pkg="$1"
426 local dir="$2"
427 case "$file" in
428 libvdpau_*.so)
429 # vdpau drivers => not put into -devel
430 ;;
431 *.so)
432 pkg=nvidia-devel;;
433 esac
434 install_symlink $pkg $dir
435 }
436
437 install_file_only() {
438 local pkg="$1"
439 local dir="$2"
440 mkdir -p %{buildroot}$dir
441 # replace 0444 with more usual 0644
442 [ "$perms" = "0444" ] && perms="0644"
443 install -m $perms $file %{buildroot}$dir
444 }
445
446 install_file() {
447 local pkg="$1"
448 local dir="$2"
449 install_file_only $pkg $dir
450 add_to_list $pkg $dir/$(basename $file)
451 }
452
453 get_module_dir() {
454 local subdir="$1"
455 case "$subdir" in
456 extensions*) echo %{nvidia_extensionsdir};;
457 drivers/) echo %{nvidia_driversdir};;
458 /) echo %{nvidia_modulesdir};;
459 *) error_unhandled "unhandled module subdir $subdir"
460 echo %{nvidia_modulesdir};;
461 esac
462 }
463
464 for file in nvidia.files nvidia-devel.files nvidia-cuda.files nvidia-dkms.files nvidia-html.files; do
465 rm -f $file
466 touch $file
467 done
468
469 # install files according to .manifest
470 cat .manifest | tail -n +9 | while read line; do
471 arch=
472 style=
473 subdir=
474 dest=
475 nvidia_libdir=
476
477 rest=${line}
478 file=${rest%%%% *}
479 rest=${rest#* }
480 perms=${rest%%%% *}
481 rest=${rest#* }
482 type=${rest%%%% *}
483 [ "${rest#* }" = "$rest" ] && rest= || rest=${rest#* }
484
485 case "$type" in
486 CUDA_LIB)
487 parseparams arch subdir
488 install_file nvidia-cuda $nvidia_libdir/$subdir
489 ;;
490 CUDA_SYMLINK)
491 parseparams arch subdir dest
492 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
493 ;;
494 ENCODEAPI_LIB)
495 parseparams arch subdir
496 install_file nvidia $nvidia_libdir/$subdir
497 ;;
498 ENCODEAPI_LIB_SYMLINK)
499 parseparams arch dest
500 install_lib_symlink nvidia $nvidia_libdir
501 ;;
502 EXPLICIT_PATH)
503 parseparams dest
504 dest="$(echo "$dest" | sed s,%{_datadir}/nvidia,%{nvidia_datadir},)"
505 install_file nvidia $dest
506 ;;
507 NVCUVID_LIB)
508 parseparams arch subdir
509 install_file nvidia-cuda $nvidia_libdir/$subdir
510 ;;
511 NVCUVID_LIB_SYMLINK)
512 parseparams arch dest
513 install_lib_symlink nvidia-cuda $nvidia_libdir
514 ;;
515 NVIFR_LIB)
516 parseparams arch subdir
517 install_file nvidia $nvidia_libdir/$subdir
518 ;;
519 NVIFR_LIB_SYMLINK)
520 parseparams arch dest
521 install_lib_symlink nvidia $nvidia_libdir
522 ;;
523 OPENCL_LIB)
524 parseparams arch subdir
525 install_file nvidia-cuda $nvidia_libdir/$subdir
526 ;;
527 OPENCL_LIB_SYMLINK)
528 parseparams arch subdir dest
529 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
530 ;;
531 OPENCL_WRAPPER_LIB)
532 parseparams arch subdir
533 install_file nvidia-cuda $nvidia_libdir/$subdir
534 ;;
535 OPENCL_WRAPPER_SYMLINK)
536 parseparams arch subdir dest
537 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
538 ;;
539 OPENGL_LIB)
540 parseparams arch
541 install_file nvidia $nvidia_libdir
542 ;;
543 OPENGL_SYMLINK)
544 parseparams arch dest
545 install_lib_symlink nvidia $nvidia_libdir
546 ;;
547 TLS_LIB)
548 parseparams arch style subdir
549 install_file nvidia $nvidia_libdir/$subdir
550 ;;
551 TLS_SYMLINK)
552 parseparams arch style subdir dest
553 install_lib_symlink nvidia $nvidia_libdir/$subdir
554 ;;
555 UTILITY_LIB)
556 %if !%simple
557 # skip libnvidia-gtk[23], we build those by ourself
558 echo "$file" | grep -q nvidia-gtk && continue
559 %endif
560 # backward-compatibility
561 [ -n "${rest}" ] || rest="NATIVE $rest"
562 parseparams arch subdir
563 install_file nvidia $nvidia_libdir/$subdir
564 ;;
565 UTILITY_LIB_SYMLINK)
566 # backward-compatibility
567 [ "${rest#* }" != "$rest" ] || rest="NATIVE $rest"
568 parseparams arch dest
569 install_lib_symlink nvidia $nvidia_libdir
570 ;;
571 VDPAU_LIB)
572 parseparams arch subdir
573 case $file in *libvdpau_nvidia.so*);; *) continue; esac
574 install_file nvidia $nvidia_libdir/$subdir
575 ;;
576 VDPAU_SYMLINK)
577 parseparams arch subdir dest
578 case $file in *libvdpau_nvidia.so*);; *) continue; esac
579 install_lib_symlink nvidia $nvidia_libdir/$subdir
580 ;;
581 VDPAU_WRAPPER_LIB)
582 parseparams arch subdir
583 case $file in *libvdpau_nvidia.so*);; *) continue; esac
584 install_file nvidia $nvidia_libdir/$subdir
585 ;;
586 VDPAU_WRAPPER_SYMLINK)
587 parseparams arch subdir dest
588 case $file in *libvdpau_nvidia.so*);; *) continue; esac
589 install_lib_symlink nvidia $nvidia_libdir/$subdir
590 ;;
591 XLIB_STATIC_LIB)
592 install_file nvidia-devel %{nvidia_libdir}
593 ;;
594 XLIB_SHARED_LIB)
595 install_file nvidia %{nvidia_libdir}
596 ;;
597 XLIB_SYMLINK)
598 parseparams dest
599 install_lib_symlink nvidia %{nvidia_libdir}
600 ;;
601 LIBGL_LA)
602 # (Anssi) we don't install .la files
603 ;;
604 XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
605 parseparams subdir
606 install_file nvidia $(get_module_dir $subdir)
607 ;;
608 XMODULE_NEWSYM)
609 # symlink that is created only if it doesn't already
610 # exist (i.e. as part of x11-server)
611 case "$file" in
612 libwfb.so)
613 continue
614 ;;
615 *)
616 error_unhandled "unknown XMODULE_NEWSYM type file $file, skipped"
617 continue
618 esac
619 parseparams subdir dest
620 install_symlink nvidia $(get_module_dir $subdir)
621 ;;
622 XORG_OUTPUTCLASS_CONFIG)
623 # (tmb) dont install xorg driver autoloader conf
624 continue
625 ;;
626 XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
627 parseparams subdir dest
628 install_symlink nvidia $(get_module_dir $subdir)
629 ;;
630 VDPAU_HEADER)
631 continue
632 parseparams subdir
633 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
634 ;;
635 OPENGL_HEADER|CUDA_HEADER)
636 parseparams subdir
637 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
638 ;;
639 DOCUMENTATION)
640 parseparams subdir
641 case $subdir in
642 */html)
643 add_to_list nvidia-html "%%doc %{pkgname}/$file"
644 continue
645 ;;
646 */include/*)
647 continue
648 ;;
649 esac
650 case $file in
651 *XF86Config*|*nvidia-settings.png)
652 continue;;
653 esac
654 add_to_list nvidia "%%doc %{pkgname}/$file"
655 ;;
656 MANPAGE|NVIDIA_MODPROBE_MANPAGE)
657 parseparams subdir
658 case "$file" in
659 *nvidia-installer*)
660 # not installed
661 continue
662 ;;
663 *nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
664 %if !%simple
665 # installed separately below
666 continue
667 %endif
668 ;;
669 *nvidia-smi*|*nvidia-cuda-mps-control*)
670 # ok
671 ;;
672 *)
673 error_unhandled "skipped unknown man page $(basename $file)"
674 continue
675 esac
676 install_file_only nvidia %{_mandir}/$subdir
677 ;;
678 UTILITY_BINARY)
679 case "$file" in
680 *nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
681 %if !%simple
682 # not installed, we install our own copy
683 continue
684 %endif
685 ;;
686 *nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
687 # ok
688 ;;
689 *nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
690 # ok
691 ;;
692 *)
693 error_unhandled "unknown binary $(basename $file) will be installed to %{nvidia_bindir}/$(basename $file)"
694 ;;
695 esac
696 install_file nvidia %{nvidia_bindir}
697 ;;
698 UTILITY_BIN_SYMLINK)
699 case $file in nvidia-uninstall) continue;; esac
700 parseparams dest
701 install_symlink nvidia %{nvidia_bindir}
702 ;;
703 NVIDIA_MODPROBE)
704 # A suid-root tool (GPLv2) used as fallback for loading the module and
705 # creating the device nodes in case the driver component is running as
706 # a non-root user (e.g. a CUDA application). While the module is automatically
707 # loaded by udev rules, the device nodes are not automatically created
708 # like with regular drivers and therefore this tool is installed on
709 # Mageia as well, at least for now.
710
711 # We install our self-compiled version in non-simple mode
712 %if %simple
713 install_file nvidia %{nvidia_bindir}
714 %endif
715 ;;
716 INSTALLER_BINARY)
717 # not installed
718 ;;
719 KERNEL_MODULE_SRC)
720 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}
721 ;;
722 CUDA_ICD)
723 # in theory this should go to the cuda subpackage, but it goes into the main package
724 # as this avoids one broken symlink and it is small enough to not cause space issues
725 install_file nvidia %{_sysconfdir}/%{drivername}
726 ;;
727 APPLICATION_PROFILE)
728 parseparams subdir
729 install_file nvidia %{nvidia_datadir}/$subdir
730 ;;
731 DOT_DESKTOP)
732 # we provide our own for now
733 ;;
734 UVM_MODULE_SRC)
735 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm
736 ;;
737 *)
738 error_unhandled "file $(basename $file) of unknown type $type will be skipped"
739 esac
740 done
741
742 [ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or http://bugs.mageia.org/ of the above warnings." >> warns.log
743
744 %if %simple
745 find %{buildroot}%{_libdir} %{buildroot}%{_prefix}/lib -type d | while read dir; do
746 dir=${dir#%{buildroot}}
747 echo "$dir" | grep -q nvidia && echo "%%dir $dir" >> nvidia.files
748 done
749 [ -d %{buildroot}%{_includedir}/%{drivername} ] && echo "%{_includedir}/%{drivername}" >> nvidia-devel.files
750
751 # for old releases in %%simple mode
752 if ! [ -e %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf ]; then
753 install -m644 kernel/dkms.conf %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf
754 fi
755 %endif
756
757 %if !%simple
758 # confirm SONAME; if something else than libvdpau_nvidia.so or libvdpau_nvidia.so.1, adapt .spec as needed:
759 [ "$(objdump -p %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} | grep SONAME | gawk '{ print $2 }')" = "libvdpau_nvidia.so.1" ]
760
761 rm -f %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
762 rm -f %{buildroot}%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
763 %endif
764
765 # vdpau alternative symlink
766 install -d -m755 %{buildroot}%{_libdir}/vdpau
767 touch %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1
768 %ifarch %{biarches}
769 install -d -m755 %{buildroot}%{_prefix}/lib/vdpau
770 touch %{buildroot}%{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
771 %endif
772
773 %if !%simple
774 # self-built binaries
775 install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
776 install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
777 install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
778 install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
779 # nvidia-settings dlopens libnvidia-gtk*.so.VERSION
780 for file in ../nvidia-settings-%{version}/src/_out/*/libnvidia-gtk*.so; do
781 install -m755 ${file} %{buildroot}%{nvidia_libdir}/$(basename "$file").%{version}
782 done
783 %endif
784 # binary alternatives
785 install -d -m755 %{buildroot}%{_bindir}
786 touch %{buildroot}%{_bindir}/nvidia-debugdump
787 touch %{buildroot}%{_bindir}/nvidia-settings
788 touch %{buildroot}%{_bindir}/nvidia-smi
789 touch %{buildroot}%{_bindir}/nvidia-xconfig
790 touch %{buildroot}%{_bindir}/nvidia-bug-report.sh
791 touch %{buildroot}%{_bindir}/nvidia-modprobe
792 touch %{buildroot}%{_bindir}/nvidia-persistenced
793 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-control
794 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-server
795 # rpmlint:
796 chmod 0755 %{buildroot}%{_bindir}/*
797
798 # datadir alternative
799 mkdir -p %{buildroot}%{_datadir}/nvidia
800
801 %if !%simple
802 # See posttrans script
803 #for file in %{buildroot}%{nvidia_datadir}/pci.ids %{buildroot}%{nvidia_datadir}/monitoring.conf; do
804 # ln -T "$file" "%{buildroot}%{_datadir}/%{drivername}/$(basename "$file").mga"
805 #done
806
807 # install man pages
808 install -m644 ../nvidia-settings-%{version}/doc/_out/*/nvidia-settings.1 %{buildroot}%{_mandir}/man1
809 install -m644 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig.1 %{buildroot}%{_mandir}/man1
810 install -m644 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe.1 %{buildroot}%{_mandir}/man1
811 install -m644 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced.1 %{buildroot}%{_mandir}/man1
812 %endif
813 # bug #41638 - whatis entries of nvidia man pages appear wrong
814 gunzip %{buildroot}%{_mandir}/man1/*.gz
815 sed -r -i '/^nvidia\\-[a-z]+ \\- NVIDIA/s,^nvidia\\-,nvidia-,' %{buildroot}%{_mandir}/man1/*.1
816 cd %{buildroot}%{_mandir}/man1
817 rename nvidia alt-%{drivername} *
818 cd -
819 touch %{buildroot}%{_mandir}/man1/nvidia-xconfig.1%{_extension}
820 touch %{buildroot}%{_mandir}/man1/nvidia-settings.1%{_extension}
821 touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
822 touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
823 touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
824 touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
825
826 # cuda nvidia.icd
827 install -d -m755 %{buildroot}%{_sysconfdir}/OpenCL/vendors
828 touch %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidia.icd
829
830 # ld.so.conf
831 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
832 echo "%{nvidia_libdir}" > %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
833 %ifarch %{biarches}
834 echo "%{nvidia_libdir32}" >> %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
835 %endif
836 install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
837 touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf
838
839 # modprobe.conf
840 install -d -m755 %{buildroot}%{_sysconfdir}/modprobe.d
841 touch %{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
842 echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
843
844 # xinit script
845 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
846 cat > %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit <<EOF
847 # to be sourced
848 #
849 # Do not modify this file; the changes will be overwritten.
850 # If you want to disable automatic configuration loading, create
851 # /etc/sysconfig/nvidia-settings with this line: LOAD_NVIDIA_SETTINGS="no"
852 #
853 LOAD_NVIDIA_SETTINGS="yes"
854 [ -f %{_sysconfdir}/sysconfig/nvidia-settings ] && . %{_sysconfdir}/sysconfig/nvidia-settings
855 [ "\$LOAD_NVIDIA_SETTINGS" = "yes" ] && %{_bindir}/nvidia-settings --load-config-only
856 EOF
857 chmod 0755 %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit
858 install -d -m755 %{buildroot}%{_sysconfdir}/X11/xinit.d
859 touch %{buildroot}%{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
860
861 # install ldetect-lst pcitable files for backports
862 # local version of merge2pcitable.pl:read_nvidia_readme:
863 section="nothingyet"
864 set +x
865 [ -e README.txt ] || cp -a usr/share/doc/README.txt .
866 cat README.txt | while read line; do
867 if [ "$section" = "nothingyet" ] || [ "$section" = "midspace" ]; then
868 if echo "$line" | grep -Pq "^\s*NVIDIA GPU product\s+Device PCI ID"; then
869 section="data"
870 elif [ "$section" = "midspace" ] && echo "$line" | grep -Pq "legacy"; then
871 break
872 fi
873 continue
874 fi
875
876 if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
877 section="midspace"
878 continue
879 fi
880
881 echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
882 id=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+(0x)?([0-9a-fA-F]{4}).*$,\2,p' | tr '[:upper:]' '[:lower:]')
883 #id2=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....)\s0x(....).*$,\2,p' | tr '[:upper:]' '[:lower:]')
884 subsysid=
885 # not useful as of 2013-05 -Anssi
886 #[ -n "$id2" ] && subsysid=" 0x10de 0x$id2"
887 echo "0x10de 0x$id$subsysid \"Card:%{ldetect_cards_name}\""
888 done | sort -u > pcitable.nvidia.lst
889 set -x
890 [ $(wc -l pcitable.nvidia.lst | cut -f1 -d" ") -gt 200 ]
891 %if "%{ldetect_cards_name}" != ""
892 install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d
893 gzip -c pcitable.nvidia.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
894 %endif
895
896 export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced \! -name 'libnvidia-gtk*.so')"
897
898 %pretrans -n %{driverpkgname}
899 # Migrate old non-alternativeszificated datadir
900 if ! [ -L %{_datadir}/nvidia ] && [ -d %{_datadir}/nvidia ]; then
901 if ! [ -e %{nvidia_datadir} ]; then
902 mv -T %{_datadir}/nvidia %{nvidia_datadir}
903 else
904 # should not really be encountered
905 mv -T %{_datadir}/nvidia %{_datadir}/nvidia.${RANDOM}
906 fi
907 fi
908
909 %post -n %{driverpkgname}
910 # XFdrake used to generate an nvidia.conf file
911 [ -L %{_sysconfdir}/modprobe.d/nvidia.conf ] || rm -f %{_sysconfdir}/modprobe.d/nvidia.conf
912
913 current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)"
914
915 # owned by libvdpau1, created in case libvdpau1 is installed only just after
916 # this package
917 mkdir -p %{_libdir}/vdpau
918
919 %{_sbindir}/update-alternatives \
920 --install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
921 --slave %{_mandir}/man1/nvidia-settings.1%{_extension} man_nvidiasettings%{_extension} %{_mandir}/man1/alt-%{drivername}-settings.1%{_extension} \
922 --slave %{_mandir}/man1/nvidia-xconfig.1%{_extension} man_nvidiaxconfig%{_extension} %{_mandir}/man1/alt-%{drivername}-xconfig.1%{_extension} \
923 --slave %{_mandir}/man1/nvidia-smi.1%{_extension} nvidia-smi.1%{_extension} %{_mandir}/man1/alt-%{drivername}-smi.1%{_extension} \
924 --slave %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension} nvidia-cuda-mps-control.1%{_extension} %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1%{_extension} \
925 --slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
926 --slave %{_bindir}/nvidia-settings nvidia_settings %{nvidia_bindir}/nvidia-settings \
927 --slave %{_bindir}/nvidia-smi nvidia_smi %{nvidia_bindir}/nvidia-smi \
928 --slave %{_bindir}/nvidia-xconfig nvidia_xconfig %{nvidia_bindir}/nvidia-xconfig \
929 --slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
930 --slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
931 --slave %{_bindir}/nvidia-cuda-mps-control nvidia-cuda-mps-control %{nvidia_bindir}/nvidia-cuda-mps-control \
932 --slave %{_bindir}/nvidia-cuda-mps-server nvidia-cuda-mps-server %{nvidia_bindir}/nvidia-cuda-mps-server \
933 --slave %{_bindir}/nvidia-modprobe nvidia-modprobe %{nvidia_bindir}/nvidia-modprobe \
934 --slave %{_bindir}/nvidia-persistenced nvidia-persistenced %{nvidia_bindir}/nvidia-persistenced \
935 --slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
936 --slave %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_lib}vdpau_nvidia.so.1 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} \
937 --slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
938 --slave %{_sysconfdir}/OpenCL/vendors/nvidia.icd nvidia.icd %{_sysconfdir}/%{drivername}/nvidia.icd \
939 %ifarch %{biarches}
940 --slave %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} \
941 %endif
942 --slave %{xorg_extra_modules} xorg_extra_modules %{nvidia_extensionsdir} \
943 --slave %{_datadir}/nvidia nvidia_datadir %{nvidia_datadir} \
944
945 if [ "${current_glconf}" = "%{_sysconfdir}/nvidia97xx/ld.so.conf" ]; then
946 # Adapt for the renaming of the driver. X.org config still has the old ModulePaths
947 # but they do not matter as we are using alternatives for libglx.so now.
948 %{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
949 fi
950 # explicit /sbin/ldconfig due to alternatives
951 /sbin/ldconfig -X
952
953 %if "%{ldetect_cards_name}" != ""
954 [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
955 %endif
956
957 %posttrans -n %{driverpkgname}
958 # When upgrading 340 => 346, the alternativeszification of /usr/share/nvidia may
959 # cause uninstallation of 340 (during upgrade) to remove these files through
960 # the /usr/share/nvidia symlink. Restore them.
961 for file in %{nvidia_datadir}/pci.ids %{nvidia_datadir}/monitoring.conf; do
962 backupfile="%{_datadir}/%{drivername}/$(basename "$file").mga"
963 if ! [ -e $file ] && [ -e "$backupfile" ]; then
964 ln -T "$backupfile" "$file"
965 fi
966 done
967
968 %postun -n %{driverpkgname}
969 if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
970 %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
971 fi
972 # explicit /sbin/ldconfig due to alternatives
973 /sbin/ldconfig -X
974
975 %if "%{ldetect_cards_name}" != ""
976 [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
977 %endif
978
979 %post -n %{drivername}-cuda-opencl
980 # explicit /sbin/ldconfig due to a non-standard library directory
981 /sbin/ldconfig -X
982
983 %post -n dkms-%{drivername}
984 /usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release} &&
985 /usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} &&
986 /usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force
987
988 # rmmod any old driver if present and not in use (e.g. by X)
989 rmmod nvidia > /dev/null 2>&1 || true
990
991 %preun -n dkms-%{drivername}
992 /usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all
993
994 # rmmod any old driver if present and not in use (e.g. by X)
995 rmmod nvidia > /dev/null 2>&1 || true
996
997 %clean
998 rm -rf %{buildroot}
999
1000 %files -n %{driverpkgname} -f %{pkgname}/nvidia.files
1001 %defattr(-,root,root)
1002 # other documentation files are listed in nvidia.files
1003 %doc README.install.urpmi README.manual-setup
1004
1005 %if "%{ldetect_cards_name}" != ""
1006 %{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
1007 %endif
1008
1009 # ld.so.conf, modprobe.conf, xinit
1010 %ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
1011 %ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
1012 %ghost %{_sysconfdir}/modprobe.d/display-driver.conf
1013 %dir %{_sysconfdir}/%{drivername}
1014 %{_sysconfdir}/%{drivername}/modprobe.conf
1015 %{_sysconfdir}/%{drivername}/ld.so.conf
1016 %{_sysconfdir}/%{drivername}/nvidia-settings.xinit
1017 %ghost %{_datadir}/nvidia
1018 %if !%simple
1019 %{_sysconfdir}/%{drivername}/nvidia.icd
1020 %dir %{nvidia_datadir}
1021 %{nvidia_datadir}/nvidia-application-profiles-%{version}-rc
1022 %{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation
1023 #{nvidia_datadir}/monitoring.conf
1024 #{nvidia_datadir}/pci.ids
1025 # backups, see posttrans
1026 #{_datadir}/%{drivername}/monitoring.conf.mga
1027 #{_datadir}/%{drivername}/pci.ids.mga
1028 %endif
1029
1030 %dir %{_sysconfdir}/OpenCL
1031 %dir %{_sysconfdir}/OpenCL/vendors
1032 %ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
1033
1034 %ghost %{_bindir}/nvidia-debugdump
1035 %ghost %{_bindir}/nvidia-settings
1036 %ghost %{_bindir}/nvidia-smi
1037 %ghost %{_bindir}/nvidia-xconfig
1038 %ghost %{_bindir}/nvidia-modprobe
1039 %ghost %{_bindir}/nvidia-persistenced
1040 %ghost %{_bindir}/nvidia-bug-report.sh
1041 %ghost %{_bindir}/nvidia-cuda-mps-control
1042 %ghost %{_bindir}/nvidia-cuda-mps-server
1043 %if !%simple
1044 %dir %{nvidia_bindir}
1045 %{nvidia_bindir}/nvidia-debugdump
1046 %{nvidia_bindir}/nvidia-settings
1047 %{nvidia_bindir}/nvidia-smi
1048 %{nvidia_bindir}/nvidia-xconfig
1049 %{nvidia_bindir}/nvidia-modprobe
1050 %{nvidia_bindir}/nvidia-persistenced
1051 %{nvidia_bindir}/nvidia-bug-report.sh
1052 %{nvidia_bindir}/nvidia-cuda-mps-control
1053 %{nvidia_bindir}/nvidia-cuda-mps-server
1054 %endif
1055
1056 %ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
1057 %ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
1058 %ghost %{_mandir}/man1/nvidia-modprobe.1%{_extension}
1059 %ghost %{_mandir}/man1/nvidia-persistenced.1%{_extension}
1060 %ghost %{_mandir}/man1/nvidia-smi.1%{_extension}
1061 %ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
1062 %if !%simple
1063 %{_mandir}/man1/alt-%{drivername}-xconfig.1*
1064 %{_mandir}/man1/alt-%{drivername}-settings.1*
1065 %{_mandir}/man1/alt-%{drivername}-modprobe.1*
1066 %{_mandir}/man1/alt-%{drivername}-persistenced.1*
1067 %{_mandir}/man1/alt-%{drivername}-smi.1*
1068 %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
1069 %else
1070 %{_mandir}/man1/alt-%{drivername}-*
1071 %endif
1072
1073 %ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
1074 %dir %{_datadir}/%{drivername}
1075 %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop
1076
1077 %if !%simple
1078 %{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
1079 %{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
1080 %endif
1081 %{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
1082
1083 %if !%simple
1084 %dir %{nvidia_libdir}
1085 %dir %{nvidia_libdir}/tls
1086 %dir %{nvidia_libdir}/vdpau
1087 %{nvidia_libdir}/libGL.so.%{version}
1088 %{nvidia_libdir}/libnvidia-cfg.so.%{version}
1089 %{nvidia_libdir}/libnvidia-glcore.so.%{version}
1090 %{nvidia_libdir}/libnvidia-tls.so.%{version}
1091 %{nvidia_libdir}/libEGL.so.1
1092 %{nvidia_libdir}/libEGL.so.%{version}
1093 %{nvidia_libdir}/libGL.so.1
1094 %{nvidia_libdir}/libGLESv1_CM.so.1
1095 %{nvidia_libdir}/libGLESv1_CM.so.%{version}
1096 %{nvidia_libdir}/libGLESv2.so.2
1097 %{nvidia_libdir}/libGLESv2.so.%{version}
1098 %{nvidia_libdir}/libnvidia-cfg.so.1
1099 %{nvidia_libdir}/libnvidia-eglcore.so.%{version}
1100 %{nvidia_libdir}/libnvidia-fbc.so.1
1101 %{nvidia_libdir}/libnvidia-fbc.so.%{version}
1102 %{nvidia_libdir}/libnvidia-glsi.so.%{version}
1103 %{nvidia_libdir}/libnvidia-gtk2.so.%{version}
1104 %{nvidia_libdir}/libnvidia-gtk3.so.%{version}
1105 %{nvidia_libdir}/libnvidia-ifr.so.1
1106 %{nvidia_libdir}/libnvidia-ifr.so.%{version}
1107 %{nvidia_libdir}/libnvidia-ml.so.1
1108 %{nvidia_libdir}/libnvidia-ml.so.%{version}
1109 %{nvidia_libdir}/libvdpau_nvidia.so
1110 %{nvidia_libdir}/tls/libnvidia-tls.so.%{version}
1111 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
1112 %ifarch %{biarches}
1113 %dir %{nvidia_libdir32}
1114 %dir %{nvidia_libdir32}/tls
1115 %dir %{nvidia_libdir32}/vdpau
1116 %{nvidia_libdir32}/libEGL.so.1
1117 %{nvidia_libdir32}/libEGL.so.%{version}
1118 %{nvidia_libdir32}/libGL.so.1
1119 %{nvidia_libdir32}/libGL.so.%{version}
1120 %{nvidia_libdir32}/libGLESv1_CM.so.1
1121 %{nvidia_libdir32}/libGLESv1_CM.so.%{version}
1122 %{nvidia_libdir32}/libGLESv2.so.2
1123 %{nvidia_libdir32}/libGLESv2.so.%{version}
1124 %{nvidia_libdir32}/libnvidia-eglcore.so.%{version}
1125 %{nvidia_libdir32}/libnvidia-fbc.so.1
1126 %{nvidia_libdir32}/libnvidia-fbc.so.%{version}
1127 %{nvidia_libdir32}/libnvidia-glcore.so.%{version}
1128 %{nvidia_libdir32}/libnvidia-glsi.so.%{version}
1129 %{nvidia_libdir32}/libnvidia-ifr.so.1
1130 %{nvidia_libdir32}/libnvidia-ifr.so.%{version}
1131 %{nvidia_libdir32}/libnvidia-ml.so.1
1132 %{nvidia_libdir32}/libnvidia-ml.so.%{version}
1133 %{nvidia_libdir32}/libnvidia-tls.so.%{version}
1134 %{nvidia_libdir32}/libvdpau_nvidia.so
1135 %{nvidia_libdir32}/tls/libnvidia-tls.so.%{version}
1136 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
1137 %endif
1138 # %simple
1139 %endif
1140
1141 %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
1142 %ifarch %{biarches}
1143 # avoid unowned directory
1144 %dir %{_prefix}/lib/vdpau
1145 %ghost %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
1146 %endif
1147
1148 %if !%simple
1149 %dir %{nvidia_modulesdir}
1150 %{nvidia_modulesdir}/libnvidia-wfb.so.1
1151 %endif
1152
1153 %if !%simple
1154 %{nvidia_modulesdir}/libnvidia-wfb.so.%{version}
1155 %endif
1156
1157 %if !%simple
1158 %{nvidia_extensionsdir}/libglx.so.%{version}
1159 %{nvidia_extensionsdir}/libglx.so
1160 %endif
1161
1162 %if !%simple
1163 %{nvidia_driversdir}/nvidia_drv.so
1164 %endif
1165
1166 %files -n %{drivername}-devel -f %pkgname/nvidia-devel.files
1167 %defattr(-,root,root)
1168 %if !%simple
1169 %{_includedir}/%{drivername}
1170 %{nvidia_libdir}/libEGL.so
1171 %{nvidia_libdir}/libGL.so
1172 %{nvidia_libdir}/libGLESv1_CM.so
1173 %{nvidia_libdir}/libGLESv2.so
1174 %{nvidia_libdir}/libOpenCL.so
1175 %{nvidia_libdir}/libcuda.so
1176 %{nvidia_libdir}/libnvcuvid.so
1177 %{nvidia_libdir}/libnvidia-cfg.so
1178 %{nvidia_libdir}/libnvidia-encode.so
1179 %{nvidia_libdir}/libnvidia-fbc.so
1180 %{nvidia_libdir}/libnvidia-ifr.so
1181 %{nvidia_libdir}/libnvidia-ml.so
1182 %ifarch %{biarches}
1183 %{nvidia_libdir32}/libEGL.so
1184 %{nvidia_libdir32}/libGL.so
1185 %{nvidia_libdir32}/libGLESv1_CM.so
1186 %{nvidia_libdir32}/libGLESv2.so
1187 %{nvidia_libdir32}/libOpenCL.so
1188 %{nvidia_libdir32}/libcuda.so
1189 %{nvidia_libdir32}/libnvcuvid.so
1190 %{nvidia_libdir32}/libnvidia-encode.so
1191 %{nvidia_libdir32}/libnvidia-fbc.so
1192 %{nvidia_libdir32}/libnvidia-ifr.so
1193 %{nvidia_libdir32}/libnvidia-ml.so
1194 %endif
1195 %endif
1196
1197 %files -n dkms-%{drivername}
1198 %defattr(-,root,root)
1199 %doc %{pkgname}/LICENSE
1200 %{_usrsrc}/%{drivername}-%{version}-%{release}
1201
1202 %files -n %{drivername}-doc-html -f %pkgname/nvidia-html.files
1203 %defattr(-,root,root)
1204
1205 %files -n %{drivername}-cuda-opencl -f %pkgname/nvidia-cuda.files
1206 %defattr(-,root,root)
1207 # Do not preferably add any alternativeszificated binaries here,
1208 # they cause broken symlinks.
1209 %if !%simple
1210 %{nvidia_libdir}/libOpenCL.so.1.0.0
1211 %{nvidia_libdir}/libOpenCL.so.1.0
1212 %{nvidia_libdir}/libOpenCL.so.1
1213 %{nvidia_libdir}/libnvcuvid.so.%{version}
1214 %{nvidia_libdir}/libnvcuvid.so.1
1215 %{nvidia_libdir}/libnvidia-compiler.so.%{version}
1216 %{nvidia_libdir}/libnvidia-encode.so.1
1217 %{nvidia_libdir}/libnvidia-encode.so.%{version}
1218 %{nvidia_libdir}/libnvidia-opencl.so.1
1219 %{nvidia_libdir}/libnvidia-opencl.so.%{version}
1220 %{nvidia_libdir}/libcuda.so.%{version}
1221 %{nvidia_libdir}/libcuda.so.1
1222 %ifarch %{biarches}
1223 %{nvidia_libdir32}/libOpenCL.so.1.0.0
1224 %{nvidia_libdir32}/libOpenCL.so.1.0
1225 %{nvidia_libdir32}/libOpenCL.so.1
1226 %{nvidia_libdir32}/libnvcuvid.so.%{version}
1227 %{nvidia_libdir32}/libnvcuvid.so.1
1228 %{nvidia_libdir32}/libnvidia-compiler.so.%{version}
1229 %{nvidia_libdir32}/libnvidia-encode.so.1
1230 %{nvidia_libdir32}/libnvidia-encode.so.%{version}
1231 %{nvidia_libdir32}/libnvidia-opencl.so.1
1232 %{nvidia_libdir32}/libnvidia-opencl.so.%{version}
1233 %{nvidia_libdir32}/libcuda.so.%{version}
1234 %{nvidia_libdir32}/libcuda.so.1
1235 %endif
1236 %endif

  ViewVC Help
Powered by ViewVC 1.1.30