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

  ViewVC Help
Powered by ViewVC 1.1.30