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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30