Gentoo Archives: gentoo-commits

From: "Jeroen Roovers (jer)" <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in x11-drivers/nvidia-drivers: ChangeLog nvidia-drivers-173.14.39.ebuild
Date: Sat, 07 Dec 2013 13:36:16
Message-Id: 20131207133613.B3F5A2004B@flycatcher.gentoo.org
1 jer 13/12/07 13:36:13
2
3 Modified: ChangeLog
4 Added: nvidia-drivers-173.14.39.ebuild
5 Log:
6 Version bump (bug #493526 by Ulenrich).
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key A792A613)
9
10 Revision Changes Path
11 1.501 x11-drivers/nvidia-drivers/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?rev=1.501&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?rev=1.501&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?r1=1.500&r2=1.501
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v
20 retrieving revision 1.500
21 retrieving revision 1.501
22 diff -u -r1.500 -r1.501
23 --- ChangeLog 6 Dec 2013 15:53:20 -0000 1.500
24 +++ ChangeLog 7 Dec 2013 13:36:13 -0000 1.501
25 @@ -1,6 +1,12 @@
26 # ChangeLog for x11-drivers/nvidia-drivers
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.500 2013/12/06 15:53:20 jer Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.501 2013/12/07 13:36:13 jer Exp $
30 +
31 +*nvidia-drivers-173.14.39 (07 Dec 2013)
32 +
33 + 07 Dec 2013; Jeroen Roovers <jer@g.o>
34 + +nvidia-drivers-173.14.39.ebuild:
35 + Version bump (bug #493526 by Ulenrich).
36
37 06 Dec 2013; Jeroen Roovers <jer@g.o> -nvidia-drivers-304.108.ebuild,
38 -nvidia-drivers-310.51.ebuild, -nvidia-drivers-313.30.ebuild,
39
40
41
42 1.1 x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild?rev=1.1&content-type=text/plain
46
47 Index: nvidia-drivers-173.14.39.ebuild
48 ===================================================================
49 # Copyright 1999-2013 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild,v 1.1 2013/12/07 13:36:13 jer Exp $
52
53 EAPI=5
54
55 inherit eutils flag-o-matic linux-mod multilib nvidia-driver portability \
56 unpacker user versionator
57
58 X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
59 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
60 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
61
62 DESCRIPTION="NVIDIA X11 driver and GLX libraries"
63 HOMEPAGE="http://www.nvidia.com/"
64 SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run )
65 amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )
66 x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
67
68 LICENSE="GPL-2 NVIDIA-r1"
69 SLOT="0"
70 KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
71 IUSE="acpi multilib kernel_linux tools"
72 RESTRICT="bindist mirror strip"
73 EMULTILIB_PKG="true"
74
75 COMMON="
76 >=app-admin/eselect-opengl-1.0.9
77 kernel_linux? ( >=sys-libs/glibc-2.6.1 )
78 "
79 DEPEND="
80 ${COMMON}
81 kernel_linux? ( virtual/linux-sources )
82 "
83 RDEPEND="
84 ${COMMON}
85 <x11-base/xorg-server-1.14.99
86 acpi? ( sys-power/acpid )
87 multilib? (
88 || (
89 (
90 x11-libs/libX11[abi_x86_32]
91 x11-libs/libXext[abi_x86_32]
92 )
93 app-emulation/emul-linux-x86-opengl
94 )
95 )
96 tools? (
97 dev-libs/atk
98 dev-libs/glib
99 x11-libs/gdk-pixbuf
100 x11-libs/gtk+:2
101 x11-libs/libX11
102 x11-libs/libXext
103 x11-libs/pango[X]
104 )
105 "
106
107 QA_TEXTRELS_x86="usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV}
108 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
109 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
110 usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
111 usr/lib/xorg/modules/drivers/nvidia_drv.so
112 usr/lib/libcuda.so.${PV}
113 usr/lib/libnvidia-cfg.so.${PV}
114 usr/lib/libvdpau_nvidia.so.${PV}
115 usr/lib/libXvMCNVIDIA.so.${PV}"
116
117 QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
118 usr/lib/opengl/nvidia/lib/libGL.so.1
119 usr/lib/opengl/nvidia/lib/libGLcore.so.1
120 usr/lib/libnvidia-cfg.so.1
121 usr/lib/opengl/nvidia/extensions/libglx.so.1
122 usr/lib/xorg/modules/drivers/nvidia_drv.so"
123
124 QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
125 usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
126 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
127 usr/lib32/libcuda.so.${PV}
128 usr/lib32/libvdpau_nvidia.so.${PV}"
129
130 QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
131 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
132 usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
133 usr/lib/xorg/modules/drivers/nvidia_drv.so
134 usr/lib/libXvMCNVIDIA.a:NVXVMC.o"
135
136 QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
137 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
138 usr/lib64/libnvcompiler.so.${PV}
139 usr/lib64/libXvMCNVIDIA.so.${PV}
140 usr/lib64/libXvMCNVIDIA.a:NVXVMC.o
141 usr/lib64/libnvidia-cfg.so.${PV}
142 usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
143 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
144 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
145 usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}
146 usr/lib64/xorg/modules/drivers/nvidia_drv.so
147 opt/bin/nvidia-settings
148 opt/bin/nvidia-smi
149 opt/bin/nvidia-xconfig"
150
151 QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
152 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
153 usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
154 usr/lib/libXvMCNVIDIA.a"
155
156 QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
157 usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
158 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
159 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
160 usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}"
161
162 QA_SONAME_amd64="usr/lib64/libnvcompiler.so.${PV}"
163
164 QA_FLAGS_IGNORED_amd64="usr/lib32/libcuda.so.${PV}
165 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
166 usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
167 usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
168 usr/lib32/libvdpau_nvidia.so.${PV}
169 usr/lib64/libXvMCNVIDIA.so.${PV}
170 usr/lib64/libcuda.so.${PV}
171 usr/lib64/libnvidia-cfg.so.${PV}
172 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
173 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
174 usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
175 usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}
176 usr/lib64/xorg/modules/drivers/nvidia_drv.so
177 usr/lib64/libvdpau_nvidia.so.${PV}
178 opt/bin/nvidia-settings
179 opt/bin/nvidia-smi
180 opt/bin/nvidia-xconfig"
181
182 QA_FLAGS_IGNORED_x86="usr/lib/libcuda.so.${PV}
183 usr/lib/libnvidia-cfg.so.${PV}
184 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
185 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
186 usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV}
187 usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
188 usr/lib/xorg/modules/drivers/nvidia_drv.so
189 usr/lib/libXvMCNVIDIA.so.${PV}
190 usr/lib/libvdpau_nvidia.so.${PV}
191 opt/bin/nvidia-settings
192 opt/bin/nvidia-smi
193 opt/bin/nvidia-xconfig"
194
195 S="${WORKDIR}/"
196
197 mtrr_check() {
198 ebegin "Checking for MTRR support"
199 linux_chkconfig_present MTRR
200 eend $?
201
202 if [[ $? -ne 0 ]] ; then
203 eerror "Please enable MTRR support in your kernel config, found at:"
204 eerror
205 eerror " Processor type and features"
206 eerror " [*] MTRR (Memory Type Range Register) support"
207 eerror
208 eerror "and recompile your kernel ..."
209 die "MTRR support not detected!"
210 fi
211 }
212
213 lockdep_check() {
214 if linux_chkconfig_present LOCKDEP; then
215 eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
216 eerror "Unfortunately, this option exports the symbol 'lockdep_init_map' as GPL-only"
217 eerror "which will prevent ${P} from compiling."
218 eerror "Please make sure the following options have been unset:"
219 eerror " Kernel hacking --->"
220 eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
221 eerror " [ ] Lock debugging: prove locking correctness"
222 eerror " [ ] Lock usage statistics"
223 eerror "in 'menuconfig'"
224 die "LOCKDEP enabled"
225 fi
226 }
227
228 pkg_setup() {
229 # try to turn off distcc and ccache for people that have a problem with it
230 export DISTCC_DISABLE=1
231 export CCACHE_DISABLE=1
232
233 if use amd64 && has_multilib_profile && [ "${DEFAULT_ABI}" != "amd64" ]; then
234 eerror "This ebuild doesn't currently support changing your default abi."
235 die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
236 fi
237
238 if use kernel_linux; then
239 linux-mod_pkg_setup
240 MODULE_NAMES="nvidia(video:${S}/usr/src/nv)"
241 BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
242 SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
243 # linux-mod_src_compile calls set_arch_to_kernel, which
244 # sets the ARCH to x86 but NVIDIA's wrapping Makefile
245 # expects x86_64 or i386 and then converts it to x86
246 # later on in the build process
247 BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
248 mtrr_check
249 lockdep_check
250 fi
251
252 # On BSD userland it wants real make command
253 use userland_BSD && MAKE="$(get_bmake)"
254
255 export _POSIX2_VERSION="199209"
256
257 if use kernel_linux && kernel_is ge 3 13 ; then
258 ewarn "Gentoo supports kernels which are supported by NVIDIA"
259 ewarn "which are limited to the following kernels:"
260 ewarn "<sys-kernel/gentoo-sources-3.13"
261 ewarn "<sys-kernel/vanilla-sources-3.13"
262 ewarn ""
263 ewarn "You are free to utilize epatch_user to provide whatever"
264 ewarn "support you feel is appropriate, but will not receive"
265 ewarn "support as a result of those changes."
266 ewarn ""
267 ewarn "Do not file a bug report about this."
268 fi
269
270 # Since Nvidia ships 3 different series of drivers, we need to give the user
271 # some kind of guidance as to what version they should install. This tries
272 # to point the user in the right direction but can't be perfect. check
273 # nvidia-driver.eclass
274 nvidia-driver-check-warning
275
276 # set variables to where files are in the package structure
277 if use kernel_FreeBSD; then
278 use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
279 NV_DOC="${S}/doc"
280 NV_EXEC="${S}/obj"
281 NV_LIB="${S}/obj"
282 NV_SRC="${S}/src"
283 NV_MAN="${S}/x11/man"
284 NV_X11="${S}/obj"
285 NV_X11_DRV="${NV_X11}"
286 NV_X11_EXT="${NV_X11}"
287 NV_SOVER=1
288 elif use kernel_linux; then
289 NV_DOC="${S}/usr/share/doc"
290 NV_EXEC="${S}/usr/bin"
291 NV_LIB="${S}/usr/lib"
292 NV_SRC="${S}/usr/src/nv"
293 NV_MAN="${S}/usr/share/man/man1"
294 NV_X11="${S}/usr/X11R6/lib"
295 NV_X11_DRV="${NV_X11}/modules/drivers"
296 NV_X11_EXT="${NV_X11}/modules/extensions"
297 NV_SOVER=${PV}
298 else
299 die "Could not determine proper NVIDIA package"
300 fi
301 }
302
303 src_unpack() {
304 if use kernel_linux && kernel_is lt 2 6 7; then
305 echo
306 ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
307 ewarn "This is not officially supported for ${P}. It is likely you"
308 ewarn "will not be able to compile or use the kernel module."
309 ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"
310 echo
311 ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."
312 fi
313
314 if ! use x86-fbsd; then
315 mkdir "${S}"
316 cd "${S}"
317 unpack_makeself
318 else
319 unpack ${A}
320 fi
321 }
322
323 src_prepare() {
324 # Please add a brief description for every added patch
325 use x86-fbsd && cd doc
326
327 # Use the correct defines to make gtkglext build work
328 epatch "${FILESDIR}"/NVIDIA_glx-defines.patch
329 # Use some more sensible gl headers and make way for new glext.h
330 epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch
331
332 if use kernel_linux; then
333 # Quiet down warnings the user does not need to see
334 sed -i \
335 -e 's:-Wpointer-arith::g' \
336 -e 's:-Wsign-compare::g' \
337 "${NV_SRC}"/Makefile.kbuild
338
339 # If greater than 2.6.5 use M= instead of SUBDIR=
340 convert_to_m "${NV_SRC}"/Makefile.kbuild
341 fi
342
343 epatch_user
344 }
345
346 src_compile() {
347 # This is already the default on Linux, as there's no toplevel Makefile, but
348 # on FreeBSD there's one and triggers the kernel module build, as we install
349 # it by itself, pass this.
350
351 cd "${NV_SRC}"
352 if use x86-fbsd; then
353 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
354 LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)"
355 elif use kernel_linux; then
356 linux-mod_src_compile
357 fi
358 }
359
360 src_install() {
361 if use kernel_linux; then
362 linux-mod_src_install
363
364 # Add the aliases
365 # This file is tweaked with the appropriate video group in
366 # pkg_preinst, see bug #491414
367 insinto /etc/modprobe.d
368 newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
369 elif use kernel_FreeBSD; then
370 insinto /boot/modules
371 doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld"
372
373 exeinto /boot/modules
374 doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko"
375 fi
376
377 # NVIDIA kernel <-> userspace driver config lib
378 dolib.so ${NV_LIB}/libnvidia-cfg.so.${NV_SOVER} || \
379 die "failed to install libnvidia-cfg"
380 dosym libnvidia-cfg.so.${NV_SOVER} \
381 /usr/$(get_libdir)/libnvidia-cfg.so.1 || \
382 die "failed to create libnvidia-cfg.so.1 symlink"
383 dosym libnvidia-cfg.so.1 \
384 /usr/$(get_libdir)/libnvidia-cfg.so || \
385 die "failed to create libnvidia-cfg.so symlink"
386
387 # Xorg DDX driver
388 insinto /usr/$(get_libdir)/xorg/modules/drivers
389 doins ${NV_X11_DRV}/nvidia_drv.so
390
391 # Xorg GLX driver
392 insinto /usr/$(get_libdir)/opengl/nvidia/extensions
393 doins ${NV_X11_EXT}/libglx.so.${NV_SOVER} || \
394 die "failed to install libglx.so"
395 dosym /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so.${NV_SOVER} \
396 /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so || \
397 die "failed to create libglx.so symlink"
398
399 # XvMC driver
400 dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
401 die "failed to install libXvMCNVIDIA.so"
402 dolib.so ${NV_X11}/libXvMCNVIDIA.so.${NV_SOVER} || \
403 die "failed to install libXvMCNVIDIA.so"
404 dosym libXvMCNVIDIA.so.${NV_SOVER} \
405 /usr/$(get_libdir)/libXvMCNVIDIA.so.1 || \
406 die "failed to create libXvMCNVIDIA.so.1 symlink"
407 dosym libXvMCNVIDIA.so.1 \
408 /usr/$(get_libdir)/libXvMCNVIDIA.so || \
409 die "failed to create libXvMCNVIDIA.so symlink"
410 dosym libXvMCNVIDIA.so.${NV_SOVER} \
411 /usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
412 die "failed to create libXvMCNVIDIA_dynamic.so.1 symlink"
413
414 # CUDA headers (driver to come)
415 if use kernel_linux && [[ -d ${S}/usr/include/cuda ]]; then
416 dodir /usr/include/cuda
417 insinto /usr/include/cuda
418 doins usr/include/cuda/*.h
419 fi
420
421 # OpenCL headers (driver to come)
422 if [[ -d ${S}/usr/include/CL ]]; then
423 dodir /usr/include/CL
424 insinto /usr/include/CL
425 doins usr/include/CL/*.h
426 fi
427
428 # Documentation
429 dodoc ${NV_DOC}/XF86Config.sample
430 dohtml ${NV_DOC}/html/*
431 if use x86-fbsd; then
432 dodoc "${NV_DOC}/README"
433 doman "${NV_MAN}/nvidia-xconfig.1"
434 doman "${NV_MAN}/nvidia-settings.1"
435 else
436 # Docs
437 newdoc "${NV_DOC}/README.txt" README
438 dodoc "${NV_DOC}/NVIDIA_Changelog"
439 doman "${NV_MAN}/nvidia-xconfig.1.gz"
440 doman "${NV_MAN}/nvidia-settings.1.gz"
441 fi
442
443 # Helper Apps
444 exeinto /opt/bin/
445 doexe ${NV_EXEC}/nvidia-xconfig
446 doexe ${NV_EXEC}/nvidia-bug-report.sh
447 if use tools; then
448 doexe usr/bin/nvidia-settings
449 fi
450 if use kernel_linux; then
451 doexe ${NV_EXEC}/nvidia-smi
452 fi
453
454 # Desktop entry for nvidia-settings
455 if use tools && use kernel_linux; then
456 sed -e 's:__UTILS_PATH__:/opt/bin:' \
457 -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
458 -e '/^Categories/s|Application;||g' \
459 -i "${S}"/usr/share/applications//nvidia-settings.desktop
460 newmenu "${S}"/usr/share/applications/nvidia-settings.desktop \
461 nvidia-settings-opt.desktop
462 fi
463
464 if has_multilib_profile ; then
465 local OABI=${ABI}
466 for ABI in $(get_install_abis) ; do
467 src_install-libs
468 done
469 ABI=${OABI}
470 unset OABI
471 else
472 src_install-libs
473 fi
474
475 is_final_abi || die "failed to iterate through all ABIs"
476
477 readme.gentoo_create_doc
478 }
479
480 # Install nvidia library:
481 # the first parameter is the place where to install it
482 # the second parameter is the base name of the library
483 # the third parameter is the provided soversion
484 donvidia() {
485 dodir $1
486 exeinto $1
487
488 libname=$(basename $2)
489
490 doexe $2.$3
491 dosym ${libname}.$3 $1/${libname}
492 [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1
493 }
494
495 src_install-libs() {
496 local inslibdir=$(get_libdir)
497 local NV_ROOT="/usr/${inslibdir}/opengl/nvidia"
498 local libdir= sover=
499
500 if use kernel_linux; then
501 if has_multilib_profile && [[ ${ABI} == "x86" ]] ; then
502 libdir=usr/lib32
503 else
504 libdir=usr/lib
505 fi
506 sover=${PV}
507 else
508 libdir=obj
509 # on FreeBSD it has just .1 suffix
510 sover=1
511 fi
512
513 # The GLX libraries
514 donvidia ${NV_ROOT}/lib ${libdir}/libGL.so ${sover}
515 donvidia ${NV_ROOT}/lib ${libdir}/libGLcore.so ${sover}
516 if use x86-fbsd; then
517 donvidia ${NV_ROOT}/lib ${libdir}/libnvidia-tls.so ${sover}
518 else
519 donvidia ${NV_ROOT}/lib ${libdir}/tls/libnvidia-tls.so ${sover}
520 fi
521
522 #cuda
523 if [[ -f ${libdir}/libcuda.so.${sover} ]]; then
524 dolib.so ${libdir}/libcuda.so.${sover}
525 [[ "${sover}" != "1" ]] && dosym libcuda.so.${sover} /usr/${inslibdir}/libcuda.so.1
526 dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
527 fi
528
529 #vdpau
530 if [[ -f ${libdir}/libvdpau_nvidia.so.${sover} ]]; then
531 dolib.so ${libdir}/libvdpau_nvidia.so.${sover}
532 dosym libvdpau_nvidia.so.${sover} /usr/${inslibdir}/libvdpau_nvidia.so
533 fi
534
535 # OpenCL
536 # NOTE: This isn't currently available in the publicly released drivers.
537 if [[ -f ${libdir}/libOpenCL.so.1.0.0 ]]; then
538
539 dolib.so ${libdir}/libnvcompiler.so.${sover}
540 [[ "${sover}" != "1" ]] && dosym libnvcompiler.so.${sover} /usr/${inslibdir}/libnvcompiler.so.1
541 dosym libnvcompiler.so.1 /usr/${inslibdir}/libnvcompiler.so
542
543 dolib.so ${libdir}/libOpenCL.so.1.0.0
544 dosym libOpenCL.so.1.0.0 /usr/${inslibdir}/libOpenCL.so.1
545 dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so
546 fi
547 }
548
549 pkg_preinst() {
550 if use kernel_linux; then
551 linux-mod_pkg_preinst
552
553 local videogroup="$(egetent group video | cut -d ':' -f 3)"
554 if [ -z "${videogroup}" ]; then
555 eerror "Failed to determine the video group gid"
556 die "Failed to determine the video group gid"
557 else
558 sed -i \
559 -e "s:PACKAGE:${PF}:g" \
560 -e "s:VIDEOGID:${videogroup}:" \
561 "${D}"/etc/modprobe.d/nvidia.conf || die
562 fi
563 fi
564
565 # Clean the dynamic libGL stuff's home to ensure
566 # we dont have stale libs floating around
567 if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
568 rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
569 fi
570 # Make sure we nuke the old nvidia-glx's env.d file
571 if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
572 rm -f "${ROOT}"/etc/env.d/09nvidia
573 fi
574 }
575
576 pkg_postinst() {
577 use kernel_linux && linux-mod_pkg_postinst
578
579 # Switch to the nvidia implementation
580 "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
581
582 readme.gentoo_print_elog
583
584 if ! use tools; then
585 elog "USE=tools controls whether the nvidia-settings application"
586 elog "is installed. If you would like to use it, enable that"
587 elog "flag and re-emerge this ebuild. Optionally you can install"
588 elog "media-video/nvidia-settings"
589 fi
590 }
591
592 pkg_prerm() {
593 "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
594 }
595
596 pkg_postrm() {
597 use kernel_linux && linux-mod_pkg_postrm
598 "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
599 }