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

  ViewVC Help
Powered by ViewVC 1.1.30