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

  ViewVC Help
Powered by ViewVC 1.1.30