/[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 811426 - (show 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 # 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 1
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 8xxx 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 # 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 %if %simple || %mgaversion <= 2
57 # 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 %global __provides_exclude \\.so
77 %global common__requires_exclude ^libGL\\.so|^libGLcore\\.so|^libnvidia.*\\.so
78
79 %ifarch %{biarches}
80 # (anssi) Allow installing of 64-bit package if the runtime dependencies
81 # of 32-bit libraries are not satisfied. If a 32-bit package that requires
82 # libGL.so.1 is installed, the 32-bit mesa libs are pulled in and that will
83 # pull the dependencies of 32-bit nvidia libraries in as well.
84 %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 %else
86 %global __requires_exclude %common__requires_exclude
87 %endif
88
89 # (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 %global __provides_exclude_from libnvidia-encode.so.%version
93 %global __requires_exclude_from libnvidia-encode.so.%version
94
95 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 %if %ftp
101 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 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 %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 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 %endif
117 # Script for building rpms of arbitrary nvidia installers (needs this .spec appended)
118 Source10: nvidia-mgabuild-skel
119
120 # include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker
121 Patch3: nvidia-settings-include-xf86vmproto.patch
122 %endif
123
124 License: Freeware
125 BuildRoot: %{_tmppath}/%{name}-buildroot
126 URL: http://www.nvidia.com/object/unix.html
127 Group: System/Kernel and hardware
128 ExclusiveArch: %{ix86} x86_64
129 %if !%simple
130 BuildRequires: ImageMagick
131 BuildRequires: gtk+2-devel
132 BuildRequires: gtk+3-devel
133 BuildRequires: libxv-devel
134 BuildRequires: MesaGL-devel
135 BuildRequires: libxxf86vm-devel
136 BuildRequires: vdpau-devel >= 0.9
137 %endif
138
139 %description
140 Source package of the current NVIDIA proprietary driver. Binary
141 packages are named x11-driver-video-nvidia-current.
142
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 Recommends: %{drivername}-doc-html = %{version}
150 # Proper support for versioned kmod() was added in 2008.1:
151 Requires: kmod(%{modulename}.ko) = %{version}
152 # 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 %if !%simple && %mgaversion >= 2
156 Requires: xserver-abi(videodrv) < %(echo $((%{videodrv_abi}+1)))
157 %endif
158 Conflicts: nvidia-current-cuda-opencl <= 295.59-1
159 # 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 Provides: kmod(%{modulename}.ko) = %{version}
185 Obsoletes: dkms-nvidia < 1:%{version}-%{release}
186 Provides: dkms-nvidia = 1:%{version}-%{release}
187 Obsoletes: dkms-nvidia97xx < %{version}-%{release}
188 Provides: dkms-nvidia97xx = %{version}-%{release}
189
190 %description -n dkms-%{drivername}
191 NVIDIA kernel module for %cards. This
192 is to be used with the %{driverpkgname} package.
193
194 %package -n %{drivername}-devel
195 Summary: NVIDIA OpenGL/CUDA development liraries and headers
196 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 NVIDIA OpenGL/CUDA headers for %cards. This package
207 is not required for normal use.
208
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 Requires: kmod(%{modulename}.ko) = %{version}
214 Conflicts: nvidia < 1:195.36.15-4
215 Conflicts: x11-driver-video-nvidia-current <= 295.59-1
216
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 %setup -q -c -T -a 2 -a 3 -a 4 -a 5
238 cd nvidia-settings-%{version}
239 %patch3 -p1
240 cd ..
241 %endif
242 sh %{nsource} --extract-only
243
244 #if !%simple
245 #cd %{pkgname}
246 #cd ..
247 #endif
248
249 rm -rf %{pkgname}/usr/src/nv/precompiled
250
251 %if %simple
252 # for old releases
253 mkdir -p %{pkgname}/kernel
254 %endif
255
256 # (tmb) nuke nVidia provided dkms.conf as we need our own
257 rm -f %{pkgname}/kernel/dkms.conf
258 rm -f %{pkgname}/kernel/uvm/dkms.conf.fragment
259
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 DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm"
266 DEST_MODULE_NAME[0]="%{modulename}"
267 BUILT_MODULE_NAME[1]="nvidia-uvm"
268 BUILT_MODULE_LOCATION[1]="uvm/"
269 DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm"
270 MAKE[0]="make SYSSRC=\${kernel_source_dir} module"
271 MAKE[0]+="; make SYSSRC=\${kernel_source_dir} -C uvm module KBUILD_EXTMOD=\${dkms_tree}/%{drivername}/%{version}-%{release}/build/uvm"
272 CLEAN="make -f Makefile.kbuild clean"
273 CLEAN+="; make -C uvm clean"
274 AUTOINSTALL="yes"
275 EOF
276
277 %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 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 #rm nvidia-settings-%{version}/src/*/*.a
315
316 %build
317 # The code contains dozens on top of dozens on top of dozens of "false" positives
318 export CFLAGS="%optflags -Wno-error=format-security"
319 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 %make -C nvidia-modprobe-%{version} STRIP_CMD=true
325 %make -C nvidia-persistenced-%{version} STRIP_CMD=true
326
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 cat > %{buildroot}%{_datadir}/%{drivername}/mageia-nvidia-settings.desktop <<EOF
337 [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 Categories=GTK;Settings;HardwareSettings;
345 EOF
346
347 install -d -m755 %{buildroot}%{_datadir}/applications
348 touch %{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop
349
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 arch=
462 style=
463 subdir=
464 dest=
465 nvidia_libdir=
466
467 rest=${line}
468 file=${rest%%%% *}
469 rest=${rest#* }
470 perms=${rest%%%% *}
471 rest=${rest#* }
472 type=${rest%%%% *}
473 [ "${rest#* }" = "$rest" ] && rest= || rest=${rest#* }
474
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 ENCODEAPI_LIB)
485 parseparams arch subdir
486 install_file nvidia $nvidia_libdir/$subdir
487 ;;
488 ENCODEAPI_LIB_SYMLINK)
489 parseparams arch dest
490 install_lib_symlink nvidia $nvidia_libdir
491 ;;
492 EXPLICIT_PATH)
493 parseparams dest
494 install_file nvidia %{_datadir}/nvidia
495 ;;
496 NVCUVID_LIB)
497 parseparams arch subdir
498 install_file nvidia-cuda $nvidia_libdir/$subdir
499 ;;
500 NVCUVID_LIB_SYMLINK)
501 parseparams arch dest
502 install_lib_symlink nvidia-cuda $nvidia_libdir
503 ;;
504 NVIFR_LIB)
505 parseparams arch subdir
506 install_file nvidia $nvidia_libdir/$subdir
507 ;;
508 NVIFR_LIB_SYMLINK)
509 parseparams arch dest
510 install_lib_symlink nvidia $nvidia_libdir
511 ;;
512 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 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 # backward-compatibility
546 [ -n "${rest}" ] || rest="NATIVE $rest"
547 parseparams arch subdir
548 install_file nvidia $nvidia_libdir/$subdir
549 ;;
550 UTILITY_LIB_SYMLINK)
551 # backward-compatibility
552 [ "${rest#* }" != "$rest" ] || rest="NATIVE $rest"
553 parseparams arch dest
554 install_lib_symlink nvidia $nvidia_libdir
555 ;;
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 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 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 XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
590 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 XORG_OUTPUTCLASS_CONFIG)
608 # (tmb) dont install xorg driver autoloader conf
609 continue
610 ;;
611 XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
612 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 MANPAGE|NVIDIA_MODPROBE_MANPAGE)
642 parseparams subdir
643 case "$file" in
644 *nvidia-installer*)
645 # not installed
646 continue
647 ;;
648 *nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
649 %if !%simple
650 # installed separately below
651 continue
652 %endif
653 ;;
654 *nvidia-smi*|*nvidia-cuda-mps-control*)
655 # 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 *nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
666 %if !%simple
667 # not installed, we install our own copy
668 continue
669 %endif
670 ;;
671 *nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
672 # ok
673 ;;
674 *nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
675 # ok
676 ;;
677 *)
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 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 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 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 DOT_DESKTOP)
719 # we provide our own for now
720 ;;
721 UVM_MODULE_SRC)
722 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm
723 ;;
724 *)
725 error_unhandled "file $(basename $file) of unknown type $type will be skipped"
726 esac
727 done
728
729 [ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or http://bugs.mageia.org/ of the above warnings." >> warns.log
730
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
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 %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 install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
763 install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
764 install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
765 install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
766 %endif
767 # binary alternatives
768 install -d -m755 %{buildroot}%{_bindir}
769 touch %{buildroot}%{_bindir}/nvidia-debugdump
770 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 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 # rpmlint:
779 chmod 0755 %{buildroot}%{_bindir}/*
780
781 %if !%simple
782 # install man pages
783 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 %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 touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
797 touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
798 touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
799 touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
800
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 touch %{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
817 echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
818
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 section="nothingyet"
839 set +x
840 [ -e README.txt ] || cp -a usr/share/doc/README.txt .
841 cat README.txt | while read line; do
842 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 continue
849 fi
850
851 if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
852 section="midspace"
853 continue
854 fi
855
856 echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
857 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 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 export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced)"
872
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 --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 --slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
890 --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 --slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
894 --slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
895 --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 --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 --slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
902 --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 %post -n %{drivername}-cuda-opencl
932 # explicit /sbin/ldconfig due to a non-standard library directory
933 /sbin/ldconfig -X
934
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 # ld.so.conf, modprobe.conf, xinit
962 %ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
963 %ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
964 %ghost %{_sysconfdir}/modprobe.d/display-driver.conf
965 %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 %dir %{_datadir}/nvidia
972 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
973 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation
974 %{_datadir}/nvidia/monitoring.conf
975 %{_datadir}/nvidia/pci.ids
976 %endif
977
978 %dir %{_sysconfdir}/OpenCL
979 %dir %{_sysconfdir}/OpenCL/vendors
980 %ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
981
982 %ghost %{_bindir}/nvidia-debugdump
983 %ghost %{_bindir}/nvidia-settings
984 %ghost %{_bindir}/nvidia-smi
985 %ghost %{_bindir}/nvidia-xconfig
986 %ghost %{_bindir}/nvidia-modprobe
987 %ghost %{_bindir}/nvidia-persistenced
988 %ghost %{_bindir}/nvidia-bug-report.sh
989 %ghost %{_bindir}/nvidia-cuda-mps-control
990 %ghost %{_bindir}/nvidia-cuda-mps-server
991 %if !%simple
992 %dir %{nvidia_bindir}
993 %{nvidia_bindir}/nvidia-debugdump
994 %{nvidia_bindir}/nvidia-settings
995 %{nvidia_bindir}/nvidia-smi
996 %{nvidia_bindir}/nvidia-xconfig
997 %{nvidia_bindir}/nvidia-modprobe
998 %{nvidia_bindir}/nvidia-persistenced
999 %{nvidia_bindir}/nvidia-bug-report.sh
1000 %{nvidia_bindir}/nvidia-cuda-mps-control
1001 %{nvidia_bindir}/nvidia-cuda-mps-server
1002 %endif
1003
1004 %ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
1005 %ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
1006 %ghost %{_mandir}/man1/nvidia-modprobe.1%{_extension}
1007 %ghost %{_mandir}/man1/nvidia-persistenced.1%{_extension}
1008 %ghost %{_mandir}/man1/nvidia-smi.1%{_extension}
1009 %ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
1010 %if !%simple
1011 %{_mandir}/man1/alt-%{drivername}-xconfig.1*
1012 %{_mandir}/man1/alt-%{drivername}-settings.1*
1013 %{_mandir}/man1/alt-%{drivername}-modprobe.1*
1014 %{_mandir}/man1/alt-%{drivername}-persistenced.1*
1015 %{_mandir}/man1/alt-%{drivername}-smi.1*
1016 %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
1017 %else
1018 %{_mandir}/man1/alt-%{drivername}-*
1019 %endif
1020
1021 %ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
1022 %dir %{_datadir}/%{drivername}
1023 %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop
1024
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 %{nvidia_libdir}/libnvidia-cfg.so.%{version}
1037 %{nvidia_libdir}/libnvidia-glcore.so.%{version}
1038 %{nvidia_libdir}/libnvidia-tls.so.%{version}
1039 %{nvidia_libdir}/libEGL.so.1
1040 %{nvidia_libdir}/libEGL.so.%{version}
1041 %{nvidia_libdir}/libGL.so.1
1042 %{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 %{nvidia_libdir}/libnvidia-cfg.so.1
1047 %{nvidia_libdir}/libnvidia-eglcore.so.%{version}
1048 %{nvidia_libdir}/libnvidia-fbc.so.1
1049 %{nvidia_libdir}/libnvidia-fbc.so.%{version}
1050 %{nvidia_libdir}/libnvidia-glsi.so.%{version}
1051 %{nvidia_libdir}/libnvidia-ifr.so.1
1052 %{nvidia_libdir}/libnvidia-ifr.so.%{version}
1053 %{nvidia_libdir}/libnvidia-ml.so.1
1054 %{nvidia_libdir}/libnvidia-ml.so.%{version}
1055 %{nvidia_libdir}/libvdpau_nvidia.so
1056 %{nvidia_libdir}/tls/libnvidia-tls.so.%{version}
1057 %{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 %{nvidia_libdir32}/libEGL.so.1
1063 %{nvidia_libdir32}/libEGL.so.%{version}
1064 %{nvidia_libdir32}/libGL.so.1
1065 %{nvidia_libdir32}/libGL.so.%{version}
1066 %{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 %{nvidia_libdir32}/libnvidia-fbc.so.1
1072 %{nvidia_libdir32}/libnvidia-fbc.so.%{version}
1073 %{nvidia_libdir32}/libnvidia-glcore.so.%{version}
1074 %{nvidia_libdir32}/libnvidia-glsi.so.%{version}
1075 %{nvidia_libdir32}/libnvidia-ifr.so.1
1076 %{nvidia_libdir32}/libnvidia-ifr.so.%{version}
1077 %{nvidia_libdir32}/libnvidia-ml.so.1
1078 %{nvidia_libdir32}/libnvidia-ml.so.%{version}
1079 %{nvidia_libdir32}/libnvidia-tls.so.%{version}
1080 %{nvidia_libdir32}/libvdpau_nvidia.so
1081 %{nvidia_libdir32}/tls/libnvidia-tls.so.%{version}
1082 %{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 %if !%simple
1095 %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 %{nvidia_libdir}/libEGL.so
1117 %{nvidia_libdir}/libGL.so
1118 %{nvidia_libdir}/libGLESv1_CM.so
1119 %{nvidia_libdir}/libGLESv2.so
1120 %{nvidia_libdir}/libOpenCL.so
1121 %{nvidia_libdir}/libcuda.so
1122 %{nvidia_libdir}/libnvcuvid.so
1123 %{nvidia_libdir}/libnvidia-cfg.so
1124 %{nvidia_libdir}/libnvidia-encode.so
1125 %{nvidia_libdir}/libnvidia-fbc.so
1126 %{nvidia_libdir}/libnvidia-ifr.so
1127 %{nvidia_libdir}/libnvidia-ml.so
1128 %ifarch %{biarches}
1129 %{nvidia_libdir32}/libEGL.so
1130 %{nvidia_libdir32}/libGL.so
1131 %{nvidia_libdir32}/libGLESv1_CM.so
1132 %{nvidia_libdir32}/libGLESv2.so
1133 %{nvidia_libdir32}/libOpenCL.so
1134 %{nvidia_libdir32}/libcuda.so
1135 %{nvidia_libdir32}/libnvcuvid.so
1136 %{nvidia_libdir32}/libnvidia-encode.so
1137 %{nvidia_libdir32}/libnvidia-fbc.so
1138 %{nvidia_libdir32}/libnvidia-ifr.so
1139 %{nvidia_libdir32}/libnvidia-ml.so
1140 %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 # Do not preferably add any alternativeszificated binaries here,
1154 # they cause broken symlinks.
1155 %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 %{nvidia_libdir}/libnvidia-encode.so.1
1163 %{nvidia_libdir}/libnvidia-encode.so.%{version}
1164 %{nvidia_libdir}/libnvidia-opencl.so.1
1165 %{nvidia_libdir}/libnvidia-opencl.so.%{version}
1166 %{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 %{nvidia_libdir32}/libnvcuvid.so.%{version}
1173 %{nvidia_libdir32}/libnvcuvid.so.1
1174 %{nvidia_libdir32}/libnvidia-compiler.so.%{version}
1175 %{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 %{nvidia_libdir32}/libcuda.so.%{version}
1180 %{nvidia_libdir32}/libcuda.so.1
1181 %endif
1182 %endif

  ViewVC Help
Powered by ViewVC 1.1.30