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

  ViewVC Help
Powered by ViewVC 1.1.30