Gentoo Archives: gentoo-commits

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