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

  ViewVC Help
Powered by ViewVC 1.1.30