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

  ViewVC Help
Powered by ViewVC 1.1.30