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

Contents of /cauldron/nvidia-current/current/SPECS/nvidia-current.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 412170 - (show annotations) (download)
Fri May 3 16:44:16 2013 UTC (10 years, 11 months ago) by anssi
File size: 37050 byte(s)
- new long-lived maintenance version 319.17
- update files
- add missing alternatives
- fix pcitable.d generation (when backporting)
- move all alternativeszificated binaries to main driver package
  to avoid broken symlinks

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

  ViewVC Help
Powered by ViewVC 1.1.30