/[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 595302 - (show annotations) (download)
Fri Feb 21 17:40:07 2014 UTC (10 years, 1 month ago) by tmb
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 38860 byte(s)
- update to 331.49
- drop P4 (uvm buildfix, not needed anymore)
- handle EXPLICIT_PATH target in .manifest
- drop duplicated files in filelist
- update fillists


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

  ViewVC Help
Powered by ViewVC 1.1.30