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

  ViewVC Help
Powered by ViewVC 1.1.30