/[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 607208 - (show annotations) (download)
Sun Mar 23 21:00:01 2014 UTC (10 years ago) by anssi
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 39120 byte(s)
- fix nvidia-ifr symlink targets
- handle arch for UTILITY_SYMLINK

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 2
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 arch=
449 style=
450 subdir=
451 dest=
452 nvidia_libdir=
453
454 rest=${line}
455 file=${rest%%%% *}
456 rest=${rest#* }
457 perms=${rest%%%% *}
458 rest=${rest#* }
459 type=${rest%%%% *}
460 [ "${rest#* }" = "$rest" ] && rest= || rest=${rest#* }
461
462 case "$type" in
463 CUDA_LIB)
464 parseparams arch subdir
465 install_file nvidia-cuda $nvidia_libdir/$subdir
466 ;;
467 CUDA_SYMLINK)
468 parseparams arch subdir dest
469 install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
470 ;;
471 ENCODEAPI_LIB)
472 parseparams arch subdir
473 install_file nvidia $nvidia_libdir/$subdir
474 ;;
475 ENCODEAPI_LIB_SYMLINK)
476 parseparams arch dest
477 install_lib_symlink nvidia $nvidia_libdir
478 ;;
479 EXPLICIT_PATH)
480 parseparams dest
481 install_file nvidia %{_datadir}/nvidia
482 ;;
483 NVCUVID_LIB)
484 parseparams arch subdir
485 install_file nvidia-cuda $nvidia_libdir/$subdir
486 ;;
487 NVCUVID_LIB_SYMLINK)
488 parseparams arch dest
489 install_lib_symlink nvidia-cuda $nvidia_libdir
490 ;;
491 NVIFR_LIB)
492 parseparams arch subdir
493 install_file nvidia $nvidia_libdir/$subdir
494 ;;
495 NVIFR_LIB_SYMLINK)
496 parseparams arch dest
497 install_lib_symlink nvidia $nvidia_libdir
498 ;;
499 OPENGL_LIB)
500 parseparams arch
501 install_file nvidia $nvidia_libdir
502 ;;
503 OPENGL_SYMLINK)
504 parseparams arch dest
505 install_lib_symlink nvidia $nvidia_libdir
506 ;;
507 TLS_LIB)
508 parseparams arch style subdir
509 install_file nvidia $nvidia_libdir/$subdir
510 ;;
511 TLS_SYMLINK)
512 parseparams arch style subdir dest
513 install_lib_symlink nvidia $nvidia_libdir/$subdir
514 ;;
515 UTILITY_LIB)
516 # backward-compatibility
517 [ -n "${rest}" ] || rest="NATIVE $rest"
518 parseparams arch subdir
519 install_file nvidia $nvidia_libdir/$subdir
520 ;;
521 UTILITY_LIB_SYMLINK)
522 # backward-compatibility
523 [ "${rest#* }" != "$rest" ] || rest="NATIVE $rest"
524 parseparams arch dest
525 install_lib_symlink nvidia $nvidia_libdir
526 ;;
527 VDPAU_LIB)
528 parseparams arch subdir
529 case $file in *libvdpau_nvidia.so*);; *) continue; esac
530 install_file nvidia $nvidia_libdir/$subdir
531 ;;
532 VDPAU_SYMLINK)
533 parseparams arch subdir dest
534 case $file in *libvdpau_nvidia.so*);; *) continue; esac
535 install_lib_symlink nvidia $nvidia_libdir/$subdir
536 ;;
537 VDPAU_WRAPPER_LIB)
538 parseparams arch subdir
539 case $file in *libvdpau_nvidia.so*);; *) continue; esac
540 install_file nvidia $nvidia_libdir/$subdir
541 ;;
542 VDPAU_WRAPPER_SYMLINK)
543 parseparams arch subdir dest
544 case $file in *libvdpau_nvidia.so*);; *) continue; esac
545 install_lib_symlink nvidia $nvidia_libdir/$subdir
546 ;;
547 XLIB_STATIC_LIB)
548 install_file nvidia-devel %{nvidia_libdir}
549 ;;
550 XLIB_SHARED_LIB)
551 install_file nvidia %{nvidia_libdir}
552 ;;
553 XLIB_SYMLINK)
554 parseparams dest
555 install_lib_symlink nvidia %{nvidia_libdir}
556 ;;
557 LIBGL_LA)
558 # (Anssi) we don't install .la files
559 ;;
560 XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
561 parseparams subdir
562 install_file nvidia $(get_module_dir $subdir)
563 ;;
564 XMODULE_NEWSYM)
565 # symlink that is created only if it doesn't already
566 # exist (i.e. as part of x11-server)
567 case "$file" in
568 libwfb.so)
569 continue
570 ;;
571 *)
572 error_unhandled "unknown XMODULE_NEWSYM type file $file, skipped"
573 continue
574 esac
575 parseparams subdir dest
576 install_symlink nvidia $(get_module_dir $subdir)
577 ;;
578 XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
579 parseparams subdir dest
580 install_symlink nvidia $(get_module_dir $subdir)
581 ;;
582 VDPAU_HEADER)
583 continue
584 parseparams subdir
585 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
586 ;;
587 OPENGL_HEADER|CUDA_HEADER)
588 parseparams subdir
589 install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
590 ;;
591 DOCUMENTATION)
592 parseparams subdir
593 case $subdir in
594 */html)
595 add_to_list nvidia-html "%%doc %{pkgname}/$file"
596 continue
597 ;;
598 */include/*)
599 continue
600 ;;
601 esac
602 case $file in
603 *XF86Config*|*nvidia-settings.png)
604 continue;;
605 esac
606 add_to_list nvidia "%%doc %{pkgname}/$file"
607 ;;
608 MANPAGE|NVIDIA_MODPROBE_MANPAGE)
609 parseparams subdir
610 case "$file" in
611 *nvidia-installer*)
612 # not installed
613 continue
614 ;;
615 *nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
616 %if !%simple
617 # installed separately below
618 continue
619 %endif
620 ;;
621 *nvidia-smi*|*nvidia-cuda-mps-control*)
622 # ok
623 ;;
624 *)
625 error_unhandled "skipped unknown man page $(basename $file)"
626 continue
627 esac
628 install_file_only nvidia %{_mandir}/$subdir
629 ;;
630 UTILITY_BINARY)
631 case "$file" in
632 *nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
633 %if !%simple
634 # not installed, we install our own copy
635 continue
636 %endif
637 ;;
638 *nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
639 # ok
640 ;;
641 *nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
642 # ok
643 ;;
644 *)
645 error_unhandled "unknown binary $(basename $file) will be installed to %{nvidia_bindir}/$(basename $file)"
646 ;;
647 esac
648 install_file nvidia %{nvidia_bindir}
649 ;;
650 UTILITY_BIN_SYMLINK)
651 case $file in nvidia-uninstall) continue;; esac
652 parseparams dest
653 install_symlink nvidia %{nvidia_bindir}
654 ;;
655 NVIDIA_MODPROBE)
656 # A suid-root tool (GPLv2) used as fallback for loading the module and
657 # creating the device nodes in case the driver component is running as
658 # a non-root user (e.g. a CUDA application). While the module is automatically
659 # loaded by udev rules, the device nodes are not automatically created
660 # like with regular drivers and therefore this tool is installed on
661 # Mageia as well, at least for now.
662
663 # We install our self-compiled version in non-simple mode
664 %if %simple
665 install_file nvidia %{nvidia_bindir}
666 %endif
667 ;;
668 INSTALLER_BINARY)
669 # not installed
670 ;;
671 KERNEL_MODULE_SRC)
672 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}
673 ;;
674 CUDA_ICD)
675 # in theory this should go to the cuda subpackage, but it goes into the main package
676 # as this avoids one broken symlink and it is small enough to not cause space issues
677 install_file nvidia %{_sysconfdir}/%{drivername}
678 ;;
679 APPLICATION_PROFILE)
680 parseparams subdir
681 # application profile filenames are versioned, we can use a common
682 # non-alternativesized directory
683 install_file nvidia %{_datadir}/nvidia/$subdir
684 ;;
685 DOT_DESKTOP)
686 # we provide our own for now
687 ;;
688 UVM_MODULE_SRC)
689 install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm
690 ;;
691 *)
692 error_unhandled "file $(basename $file) of unknown type $type will be skipped"
693 esac
694 done
695
696 [ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or http://bugs.mageia.org/ of the above warnings." >> warns.log
697
698 %if %simple
699 find %{buildroot}%{_libdir} %{buildroot}%{_prefix}/lib -type d | while read dir; do
700 dir=${dir#%{buildroot}}
701 echo "$dir" | grep -q nvidia && echo "%%dir $dir" >> nvidia.files
702 done
703 [ -d %{buildroot}%{_includedir}/%{drivername} ] && echo "%{_includedir}/%{drivername}" >> nvidia-devel.files
704
705 # for old releases in %%simple mode
706 if ! [ -e %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf ]; then
707 install -m644 kernel/dkms.conf %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf
708 fi
709 %endif
710
711 %if !%simple
712 # confirm SONAME; if something else than libvdpau_nvidia.so or libvdpau_nvidia.so.1, adapt .spec as needed:
713 [ "$(objdump -p %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} | grep SONAME | gawk '{ print $2 }')" = "libvdpau_nvidia.so.1" ]
714
715 rm -f %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
716 rm -f %{buildroot}%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
717 %endif
718
719 # vdpau alternative symlink
720 install -d -m755 %{buildroot}%{_libdir}/vdpau
721 touch %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1
722 %ifarch %{biarches}
723 install -d -m755 %{buildroot}%{_prefix}/lib/vdpau
724 touch %{buildroot}%{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
725 %endif
726
727 %if !%simple
728 # self-built binaries
729 install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
730 install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
731 install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
732 install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
733 %endif
734 # binary alternatives
735 install -d -m755 %{buildroot}%{_bindir}
736 touch %{buildroot}%{_bindir}/nvidia-debugdump
737 touch %{buildroot}%{_bindir}/nvidia-settings
738 touch %{buildroot}%{_bindir}/nvidia-smi
739 touch %{buildroot}%{_bindir}/nvidia-xconfig
740 touch %{buildroot}%{_bindir}/nvidia-bug-report.sh
741 touch %{buildroot}%{_bindir}/nvidia-modprobe
742 touch %{buildroot}%{_bindir}/nvidia-persistenced
743 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-control
744 touch %{buildroot}%{_bindir}/nvidia-cuda-mps-server
745 # rpmlint:
746 chmod 0755 %{buildroot}%{_bindir}/*
747
748 %if !%simple
749 # install man pages
750 install -m644 ../nvidia-settings-%{version}/doc/_out/*/nvidia-settings.1 %{buildroot}%{_mandir}/man1
751 install -m644 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig.1 %{buildroot}%{_mandir}/man1
752 install -m644 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe.1 %{buildroot}%{_mandir}/man1
753 install -m644 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced.1 %{buildroot}%{_mandir}/man1
754 %endif
755 # bug #41638 - whatis entries of nvidia man pages appear wrong
756 gunzip %{buildroot}%{_mandir}/man1/*.gz
757 sed -r -i '/^nvidia\\-[a-z]+ \\- NVIDIA/s,^nvidia\\-,nvidia-,' %{buildroot}%{_mandir}/man1/*.1
758 cd %{buildroot}%{_mandir}/man1
759 rename nvidia alt-%{drivername} *
760 cd -
761 touch %{buildroot}%{_mandir}/man1/nvidia-xconfig.1%{_extension}
762 touch %{buildroot}%{_mandir}/man1/nvidia-settings.1%{_extension}
763 touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
764 touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
765 touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
766 touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
767
768 # cuda nvidia.icd
769 install -d -m755 %{buildroot}%{_sysconfdir}/OpenCL/vendors
770 touch %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidia.icd
771
772 # ld.so.conf
773 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
774 echo "%{nvidia_libdir}" > %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
775 %ifarch %{biarches}
776 echo "%{nvidia_libdir32}" >> %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
777 %endif
778 install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
779 touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf
780
781 # modprobe.conf
782 install -d -m755 %{buildroot}%{_sysconfdir}/modprobe.d
783 touch %{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
784 echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
785
786 # xinit script
787 install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
788 cat > %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit <<EOF
789 # to be sourced
790 #
791 # Do not modify this file; the changes will be overwritten.
792 # If you want to disable automatic configuration loading, create
793 # /etc/sysconfig/nvidia-settings with this line: LOAD_NVIDIA_SETTINGS="no"
794 #
795 LOAD_NVIDIA_SETTINGS="yes"
796 [ -f %{_sysconfdir}/sysconfig/nvidia-settings ] && . %{_sysconfdir}/sysconfig/nvidia-settings
797 [ "\$LOAD_NVIDIA_SETTINGS" = "yes" ] && %{_bindir}/nvidia-settings --load-config-only
798 EOF
799 chmod 0755 %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit
800 install -d -m755 %{buildroot}%{_sysconfdir}/X11/xinit.d
801 touch %{buildroot}%{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
802
803 # install ldetect-lst pcitable files for backports
804 # local version of merge2pcitable.pl:read_nvidia_readme:
805 section="nothingyet"
806 set +x
807 [ -e README.txt ] || cp -a usr/share/doc/README.txt .
808 cat README.txt | while read line; do
809 if [ "$section" = "nothingyet" ] || [ "$section" = "midspace" ]; then
810 if echo "$line" | grep -Pq "^\s*NVIDIA GPU product\s+Device PCI ID"; then
811 section="data"
812 elif [ "$section" = "midspace" ] && echo "$line" | grep -Pq "legacy"; then
813 break
814 fi
815 continue
816 fi
817
818 if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
819 section="midspace"
820 continue
821 fi
822
823 echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
824 id=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....).*$,\1,p' | tr '[:upper:]' '[:lower:]')
825 id2=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....)\s0x(....).*$,\2,p' | tr '[:upper:]' '[:lower:]')
826 subsysid=
827 # not useful as of 2013-05 -Anssi
828 #[ -n "$id2" ] && subsysid=" 0x10de 0x$id2"
829 echo "0x10de 0x$id$subsysid \"Card:%{ldetect_cards_name}\""
830 done | sort -u > pcitable.nvidia.lst
831 set -x
832 [ $(wc -l pcitable.nvidia.lst | cut -f1 -d" ") -gt 200 ]
833 %if "%{ldetect_cards_name}" != ""
834 install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d
835 gzip -c pcitable.nvidia.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
836 %endif
837
838 export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced)"
839
840 %post -n %{driverpkgname}
841 # XFdrake used to generate an nvidia.conf file
842 [ -L %{_sysconfdir}/modprobe.d/nvidia.conf ] || rm -f %{_sysconfdir}/modprobe.d/nvidia.conf
843
844 current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)"
845
846 # owned by libvdpau1, created in case libvdpau1 is installed only just after
847 # this package
848 mkdir -p %{_libdir}/vdpau
849
850 %{_sbindir}/update-alternatives \
851 --install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
852 --slave %{_mandir}/man1/nvidia-settings.1%{_extension} man_nvidiasettings%{_extension} %{_mandir}/man1/alt-%{drivername}-settings.1%{_extension} \
853 --slave %{_mandir}/man1/nvidia-xconfig.1%{_extension} man_nvidiaxconfig%{_extension} %{_mandir}/man1/alt-%{drivername}-xconfig.1%{_extension} \
854 --slave %{_mandir}/man1/nvidia-smi.1%{_extension} nvidia-smi.1%{_extension} %{_mandir}/man1/alt-%{drivername}-smi.1%{_extension} \
855 --slave %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension} nvidia-cuda-mps-control.1%{_extension} %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1%{_extension} \
856 --slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
857 --slave %{_bindir}/nvidia-settings nvidia_settings %{nvidia_bindir}/nvidia-settings \
858 --slave %{_bindir}/nvidia-smi nvidia_smi %{nvidia_bindir}/nvidia-smi \
859 --slave %{_bindir}/nvidia-xconfig nvidia_xconfig %{nvidia_bindir}/nvidia-xconfig \
860 --slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
861 --slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
862 --slave %{_bindir}/nvidia-cuda-mps-control nvidia-cuda-mps-control %{nvidia_bindir}/nvidia-cuda-mps-control \
863 --slave %{_bindir}/nvidia-cuda-mps-server nvidia-cuda-mps-server %{nvidia_bindir}/nvidia-cuda-mps-server \
864 --slave %{_bindir}/nvidia-modprobe nvidia-modprobe %{nvidia_bindir}/nvidia-modprobe \
865 --slave %{_bindir}/nvidia-persistenced nvidia-persistenced %{nvidia_bindir}/nvidia-persistenced \
866 --slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
867 --slave %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_lib}vdpau_nvidia.so.1 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} \
868 --slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
869 --slave %{_sysconfdir}/OpenCL/vendors/nvidia.icd nvidia.icd %{_sysconfdir}/%{drivername}/nvidia.icd \
870 %ifarch %{biarches}
871 --slave %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} \
872 %endif
873 --slave %{xorg_extra_modules} xorg_extra_modules %{nvidia_extensionsdir} \
874
875 if [ "${current_glconf}" = "%{_sysconfdir}/nvidia97xx/ld.so.conf" ]; then
876 # Adapt for the renaming of the driver. X.org config still has the old ModulePaths
877 # but they do not matter as we are using alternatives for libglx.so now.
878 %{_sbindir}/update-alternatives --set 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 %postun -n %{driverpkgname}
888 if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
889 %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
890 fi
891 # explicit /sbin/ldconfig due to alternatives
892 /sbin/ldconfig -X
893
894 %if "%{ldetect_cards_name}" != ""
895 [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
896 %endif
897
898 %post -n %{drivername}-cuda-opencl
899 # explicit /sbin/ldconfig due to a non-standard library directory
900 /sbin/ldconfig -X
901
902 %post -n dkms-%{drivername}
903 /usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release} &&
904 /usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} &&
905 /usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force
906
907 # rmmod any old driver if present and not in use (e.g. by X)
908 rmmod nvidia > /dev/null 2>&1 || true
909
910 %preun -n dkms-%{drivername}
911 /usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all
912
913 # rmmod any old driver if present and not in use (e.g. by X)
914 rmmod nvidia > /dev/null 2>&1 || true
915
916 %clean
917 rm -rf %{buildroot}
918
919 %files -n %{driverpkgname} -f %{pkgname}/nvidia.files
920 %defattr(-,root,root)
921 # other documentation files are listed in nvidia.files
922 %doc README.install.urpmi README.manual-setup
923
924 %if "%{ldetect_cards_name}" != ""
925 %{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
926 %endif
927
928 # ld.so.conf, modprobe.conf, xinit
929 %ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
930 %ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
931 %ghost %{_sysconfdir}/modprobe.d/display-driver.conf
932 %dir %{_sysconfdir}/%{drivername}
933 %{_sysconfdir}/%{drivername}/modprobe.conf
934 %{_sysconfdir}/%{drivername}/ld.so.conf
935 %{_sysconfdir}/%{drivername}/nvidia-settings.xinit
936 %if !%simple
937 %{_sysconfdir}/%{drivername}/nvidia.icd
938 %dir %{_datadir}/nvidia
939 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
940 %{_datadir}/nvidia/monitoring.conf
941 %{_datadir}/nvidia/pci.ids
942 %endif
943
944 %dir %{_sysconfdir}/OpenCL
945 %dir %{_sysconfdir}/OpenCL/vendors
946 %ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
947
948 %ghost %{_bindir}/nvidia-debugdump
949 %ghost %{_bindir}/nvidia-settings
950 %ghost %{_bindir}/nvidia-smi
951 %ghost %{_bindir}/nvidia-xconfig
952 %ghost %{_bindir}/nvidia-modprobe
953 %ghost %{_bindir}/nvidia-persistenced
954 %ghost %{_bindir}/nvidia-bug-report.sh
955 %ghost %{_bindir}/nvidia-cuda-mps-control
956 %ghost %{_bindir}/nvidia-cuda-mps-server
957 %if !%simple
958 %dir %{nvidia_bindir}
959 %{nvidia_bindir}/nvidia-debugdump
960 %{nvidia_bindir}/nvidia-settings
961 %{nvidia_bindir}/nvidia-smi
962 %{nvidia_bindir}/nvidia-xconfig
963 %{nvidia_bindir}/nvidia-modprobe
964 %{nvidia_bindir}/nvidia-persistenced
965 %{nvidia_bindir}/nvidia-bug-report.sh
966 %{nvidia_bindir}/nvidia-cuda-mps-control
967 %{nvidia_bindir}/nvidia-cuda-mps-server
968 %endif
969
970 %ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
971 %ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
972 %ghost %{_mandir}/man1/nvidia-modprobe.1%{_extension}
973 %ghost %{_mandir}/man1/nvidia-persistenced.1%{_extension}
974 %ghost %{_mandir}/man1/nvidia-smi.1%{_extension}
975 %ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
976 %if !%simple
977 %{_mandir}/man1/alt-%{drivername}-xconfig.1*
978 %{_mandir}/man1/alt-%{drivername}-settings.1*
979 %{_mandir}/man1/alt-%{drivername}-modprobe.1*
980 %{_mandir}/man1/alt-%{drivername}-persistenced.1*
981 %{_mandir}/man1/alt-%{drivername}-smi.1*
982 %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
983 %else
984 %{_mandir}/man1/alt-%{drivername}-*
985 %endif
986
987 %ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
988 %dir %{_datadir}/%{drivername}
989 %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop
990
991 %if !%simple
992 %{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
993 %{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
994 %endif
995 %{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
996
997 %if !%simple
998 %dir %{nvidia_libdir}
999 %dir %{nvidia_libdir}/tls
1000 %dir %{nvidia_libdir}/vdpau
1001 %{nvidia_libdir}/libGL.so.%{version}
1002 %{nvidia_libdir}/libnvidia-glcore.so.%{version}
1003 %{nvidia_libdir}/libnvidia-cfg.so.%{version}
1004 %{nvidia_libdir}/libnvidia-tls.so.%{version}
1005 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
1006 %{nvidia_libdir}/libGL.so.1
1007 %{nvidia_libdir}/libnvidia-cfg.so.1
1008 %{nvidia_libdir}/libnvidia-fbc.so.1
1009 %{nvidia_libdir}/libnvidia-fbc.so.%{version}
1010 %{nvidia_libdir}/libnvidia-ifr.so.1
1011 %{nvidia_libdir}/libnvidia-ifr.so.%{version}
1012 %{nvidia_libdir}/libnvidia-ml.so.1
1013 %{nvidia_libdir}/libnvidia-ml.so.%{version}
1014 %{nvidia_libdir}/libvdpau_nvidia.so
1015 %{nvidia_libdir}/tls/libnvidia-tls.so.%{version}
1016 # .manifest places theese on same place in 32 and 64 bit build
1017 %{nvidia_libdir32}/libEGL.so.1
1018 %{nvidia_libdir32}/libEGL.so.%{version}
1019 %{nvidia_libdir32}/libGLESv1_CM.so.1
1020 %{nvidia_libdir32}/libGLESv1_CM.so.%{version}
1021 %{nvidia_libdir32}/libGLESv2.so.2
1022 %{nvidia_libdir32}/libGLESv2.so.%{version}
1023 %{nvidia_libdir32}/libnvidia-eglcore.so.%{version}
1024 %{nvidia_libdir32}/libnvidia-glsi.so.%{version}
1025 %ifarch %{biarches}
1026 %dir %{nvidia_libdir32}
1027 %dir %{nvidia_libdir32}/tls
1028 %dir %{nvidia_libdir32}/vdpau
1029 %{nvidia_libdir32}/libGL.so.%{version}
1030 %{nvidia_libdir32}/libnvidia-glcore.so.%{version}
1031 %{nvidia_libdir32}/libnvidia-ifr.so.1
1032 %{nvidia_libdir32}/libnvidia-ifr.so.%{version}
1033 %{nvidia_libdir32}/libnvidia-ml.so.1
1034 %{nvidia_libdir32}/libnvidia-ml.so.%{version}
1035 %{nvidia_libdir32}/libnvidia-tls.so.%{version}
1036 %{nvidia_libdir32}/libvdpau_nvidia.so
1037 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
1038 %{nvidia_libdir32}/libGL.so.1
1039 %{nvidia_libdir32}/tls/libnvidia-tls.so.%{version}
1040 %endif
1041 # %simple
1042 %endif
1043
1044 %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
1045 %ifarch %{biarches}
1046 # avoid unowned directory
1047 %dir %{_prefix}/lib/vdpau
1048 %ghost %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
1049 %endif
1050
1051 %if !%simple
1052 %dir %{nvidia_modulesdir}
1053 %{nvidia_modulesdir}/libnvidia-wfb.so.1
1054 %endif
1055
1056 %if !%simple
1057 %{nvidia_modulesdir}/libnvidia-wfb.so.%{version}
1058 %endif
1059
1060 %if !%simple
1061 %{nvidia_extensionsdir}/libglx.so.%{version}
1062 %{nvidia_extensionsdir}/libglx.so
1063 %endif
1064
1065 %if !%simple
1066 %{nvidia_driversdir}/nvidia_drv.so
1067 %endif
1068
1069 %files -n %{drivername}-devel -f %pkgname/nvidia-devel.files
1070 %defattr(-,root,root)
1071 %if !%simple
1072 %{_includedir}/%{drivername}
1073 %{nvidia_libdir}/libGL.so
1074 %{nvidia_libdir}/libcuda.so
1075 %{nvidia_libdir}/libnvcuvid.so
1076 %{nvidia_libdir}/libnvidia-cfg.so
1077 %{nvidia_libdir}/libnvidia-fbc.so
1078 %{nvidia_libdir}/libnvidia-ifr.so
1079 %{nvidia_libdir}/libOpenCL.so
1080 %{nvidia_libdir}/libnvidia-ml.so
1081 %{nvidia_libdir}/libnvidia-encode.so
1082 # .manifest places theese on same place in 32 and 64 bit build
1083 %{nvidia_libdir32}/libEGL.so
1084 %{nvidia_libdir32}/libGLESv1_CM.so
1085 %{nvidia_libdir32}/libGLESv2.so
1086 %ifarch %{biarches}
1087 %{nvidia_libdir32}/libnvidia-ml.so
1088 %{nvidia_libdir32}/libGL.so
1089 %{nvidia_libdir32}/libcuda.so
1090 %{nvidia_libdir32}/libnvcuvid.so
1091 %{nvidia_libdir32}/libnvidia-ifr.so
1092 %{nvidia_libdir32}/libOpenCL.so
1093 %{nvidia_libdir32}/libnvidia-encode.so
1094 %endif
1095 %endif
1096
1097 %files -n dkms-%{drivername}
1098 %defattr(-,root,root)
1099 %doc %{pkgname}/LICENSE
1100 %{_usrsrc}/%{drivername}-%{version}-%{release}
1101
1102 %files -n %{drivername}-doc-html -f %pkgname/nvidia-html.files
1103 %defattr(-,root,root)
1104
1105 %files -n %{drivername}-cuda-opencl -f %pkgname/nvidia-cuda.files
1106 %defattr(-,root,root)
1107 # Do not preferably add any alternativeszificated binaries here,
1108 # they cause broken symlinks.
1109 %if !%simple
1110 %{nvidia_libdir}/libOpenCL.so.1.0.0
1111 %{nvidia_libdir}/libOpenCL.so.1.0
1112 %{nvidia_libdir}/libOpenCL.so.1
1113 %{nvidia_libdir}/libnvcuvid.so.%{version}
1114 %{nvidia_libdir}/libnvcuvid.so.1
1115 %{nvidia_libdir}/libnvidia-compiler.so.%{version}
1116 %{nvidia_libdir}/libnvidia-encode.so.1
1117 %{nvidia_libdir}/libnvidia-encode.so.%{version}
1118 %{nvidia_libdir}/libnvidia-opencl.so.1
1119 %{nvidia_libdir}/libnvidia-opencl.so.%{version}
1120 %{nvidia_libdir}/libcuda.so.%{version}
1121 %{nvidia_libdir}/libcuda.so.1
1122 %ifarch %{biarches}
1123 %{nvidia_libdir32}/libOpenCL.so.1.0.0
1124 %{nvidia_libdir32}/libOpenCL.so.1.0
1125 %{nvidia_libdir32}/libOpenCL.so.1
1126 %{nvidia_libdir32}/libnvcuvid.so.%{version}
1127 %{nvidia_libdir32}/libnvcuvid.so.1
1128 %{nvidia_libdir32}/libnvidia-compiler.so.%{version}
1129 %{nvidia_libdir32}/libnvidia-encode.so.1
1130 %{nvidia_libdir32}/libnvidia-encode.so.%{version}
1131 %{nvidia_libdir32}/libnvidia-opencl.so.1
1132 %{nvidia_libdir32}/libnvidia-opencl.so.%{version}
1133 %{nvidia_libdir32}/libcuda.so.%{version}
1134 %{nvidia_libdir32}/libcuda.so.1
1135 %endif
1136 %endif

  ViewVC Help
Powered by ViewVC 1.1.30