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

  ViewVC Help
Powered by ViewVC 1.1.30