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

  ViewVC Help
Powered by ViewVC 1.1.30