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

  ViewVC Help
Powered by ViewVC 1.1.30