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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 812377 - (show annotations) (download)
Mon Jan 26 16:55:07 2015 UTC (9 years, 2 months ago) by anssi
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 42401 byte(s)
fix libnvidia-gtk*.so* name not matching their SONAME, causing
nvidia-settings to fail to load

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

  ViewVC Help
Powered by ViewVC 1.1.30