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

  ViewVC Help
Powered by ViewVC 1.1.30