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

  ViewVC Help
Powered by ViewVC 1.1.30