Gentoo Archives: gentoo-commits

From: "Piotr Jaroszynski (peper)" <peper@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in x11-drivers/nvidia-drivers: ChangeLog nvidia-drivers-190.36.ebuild
Date: Sun, 27 Sep 2009 11:15:19
Message-Id: E1Mrrin-0000rv-La@stork.gentoo.org
1 peper 09/09/27 11:15:17
2
3 Modified: ChangeLog
4 Added: nvidia-drivers-190.36.ebuild
5 Log:
6 Add 190.36.
7 (Portage version: 2.1.6.13/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.174 x11-drivers/nvidia-drivers/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?rev=1.174&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?rev=1.174&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog?r1=1.173&r2=1.174
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v
19 retrieving revision 1.173
20 retrieving revision 1.174
21 diff -u -r1.173 -r1.174
22 --- ChangeLog 26 Sep 2009 19:11:52 -0000 1.173
23 +++ ChangeLog 27 Sep 2009 11:15:17 -0000 1.174
24 @@ -1,6 +1,12 @@
25 # ChangeLog for x11-drivers/nvidia-drivers
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.173 2009/09/26 19:11:52 spock Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.174 2009/09/27 11:15:17 peper Exp $
29 +
30 +*nvidia-drivers-190.36 (27 Sep 2009)
31 +
32 + 27 Sep 2009; Piotr Jaroszyński <peper@g.o>
33 + +nvidia-drivers-190.36.ebuild:
34 + Add 190.36.
35
36 26 Sep 2009; Michał Januszewski <spock@g.o>
37 nvidia-drivers-190.32.ebuild:
38
39
40
41 1.1 x11-drivers/nvidia-drivers/nvidia-drivers-190.36.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-190.36.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-190.36.ebuild?rev=1.1&content-type=text/plain
45
46 Index: nvidia-drivers-190.36.ebuild
47 ===================================================================
48 # Copyright 1999-2009 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-190.36.ebuild,v 1.1 2009/09/27 11:15:17 peper Exp $
51
52 inherit eutils multilib versionator linux-mod flag-o-matic nvidia-driver
53
54 X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
55 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
56 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
57
58 DESCRIPTION="NVIDIA X11 driver and GLX libraries"
59 HOMEPAGE="http://www.nvidia.com/"
60 SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run )
61 amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )
62 x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
63
64 LICENSE="NVIDIA"
65 SLOT="0"
66 KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
67 IUSE="acpi custom-cflags gtk multilib kernel_linux"
68 RESTRICT="strip"
69 EMULTILIB_PKG="true"
70
71 COMMON="<x11-base/xorg-server-1.6.99
72 multilib? ( app-emulation/emul-linux-x86-xlibs )
73 kernel_FreeBSD? ( !media-video/nvidia-freebsd )
74 !app-emulation/emul-linux-x86-nvidia
75 !x11-drivers/nvidia-legacy-drivers"
76 DEPEND="${COMMON}
77 kernel_linux? ( virtual/linux-sources )
78 app-admin/eselect-opengl"
79 RDEPEND="${COMMON}
80 kernel_linux? ( virtual/modutils )
81 media-libs/mesa
82 acpi? ( sys-power/acpid )"
83 PDEPEND="gtk? ( media-video/nvidia-settings )"
84
85 QA_TEXTRELS_x86="usr/lib/libXvMCNVIDIA.so.${PV}
86 usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
87 usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV}
88 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
89 usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
90 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
91 usr/lib/opengl/nvidia/extensions/libglx.so
92 usr/lib/xorg/modules/drivers/nvidia_drv.so
93 usr/lib/libcuda.so.${PV}
94 usr/lib/libvdpau_nvidia.so.${PV}"
95
96 QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
97 usr/lib/opengl/nvidia/lib/libGL.so.1
98 usr/lib/opengl/nvidia/lib/libGLcore.so.1
99 usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.1
100 usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.1
101 usr/lib/opengl/nvidia/extensions/libglx.so
102 usr/lib/xorg/modules/drivers/nvidia_drv.so"
103
104 QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV}
105 usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
106 usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
107 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
108 usr/lib32/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
109 usr/lib32/libcuda.so.${PV}
110 usr/lib32/libvdpau_nvidia.so.${PV}"
111
112 QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
113 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
114 usr/lib/opengl/nvidia/extensions/libglx.so"
115
116 QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
117 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
118 usr/lib64/xorg/modules/drivers/nvidia_drv.so
119 usr/lib64/libnvcompiler.so.${PV}
120 usr/lib64/libXvMCNVIDIA.so.${PV}
121 usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV}
122 usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
123 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
124 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
125 usr/lib64/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
126 usr/lib64/opengl/nvidia/extensions/libglx.so
127 usr/bin/nvidia-smi
128 usr/bin/nvidia-xconfig
129 usr/lib64/libXvMCNVIDIA.a:NVXVMC.o"
130
131 QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
132 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
133 usr/lib/opengl/nvidia/extensions/libglx.so
134 usr/lib/libXvMCNVIDIA.a"
135
136 QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
137 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
138 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
139 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
140 usr/lib64/opengl/nvidia/extensions/libglx.so"
141
142 QA_SONAME_amd64="usr/lib64/libnvcompiler.so.${PV}"
143
144 # we really should have QA_DT_HASH_x86 and QA_DT_HASH_amd64 but Portage
145 # does not support it. bug #271416
146
147 QA_DT_HASH="usr/lib32/libvdpau_trace.so.${PV}
148 usr/lib32/libvdpau.so.${PV}
149 usr/lib32/libcuda.so.${PV}
150 usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
151 usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
152 usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
153 usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV}
154 usr/lib32/libvdpau_nvidia.so.${PV}
155 usr/bin/nvidia-xconfig
156 usr/lib64/libvdpau_trace.so.${PV}
157 usr/lib64/libvdpau.so.${PV}
158 usr/lib64/libcuda.so.${PV}
159 usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
160 usr/lib64/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
161 usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
162 usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
163 usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV}
164 usr/lib64/opengl/nvidia/extensions/libwfb.so
165 usr/lib64/opengl/nvidia/extensions/libglx.so
166 usr/lib64/xorg/modules/drivers/nvidia_drv.so
167 usr/lib64/libXvMCNVIDIA.so.${PV}
168 usr/lib64/libvdpau_nvidia.so.${PV}
169
170 usr/lib/libvdpau_trace.so.${PV}
171 usr/lib/libvdpau.so.${PV}
172 usr/lib/libcuda.so.${PV}
173 usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
174 usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
175 usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
176 usr/lib/opengl/nvidia/lib/libGL.so.${PV}
177 usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV}
178 usr/lib/opengl/nvidia/extensions/libwfb.so
179 usr/lib/opengl/nvidia/extensions/libglx.so
180 usr/lib/xorg/modules/drivers/nvidia_drv.so
181 usr/lib/libXvMCNVIDIA.so.${PV}
182 usr/lib/libvdpau_nvidia.so.${PV}"
183
184 if use x86; then
185 PKG_V="-pkg0"
186 NV_PACKAGE="${X86_NV_PACKAGE}"
187 elif use amd64; then
188 PKG_V="-pkg2"
189 NV_PACKAGE="${AMD64_NV_PACKAGE}"
190 elif use x86-fbsd; then
191 PKG_V=""
192 NV_PACKAGE="${X86_FBSD_NV_PACKAGE}"
193 fi
194
195 S="${WORKDIR}/${NV_PACKAGE}${PKG_V}"
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} HOST_CC=$(tc-getBUILD_CC)"
243 mtrr_check
244 lockdep_check
245 fi
246
247 # On BSD userland it wants real make command
248 use userland_BSD && MAKE="$(get_bmake)"
249
250 export _POSIX2_VERSION="199209"
251
252 # Since Nvidia ships 3 different series of drivers, we need to give the user
253 # some kind of guidance as to what version they should install. This tries
254 # to point the user in the right direction but can't be perfect. check
255 # nvidia-driver.eclass
256 nvidia-driver-check-warning
257
258 # set variables to where files are in the package structure
259 if use kernel_FreeBSD; then
260 NV_DOC="${S}/doc"
261 NV_EXEC="${S}/obj"
262 NV_SRC="${S}/src"
263 NV_MAN="${S}/x11/man"
264 elif use kernel_linux; then
265 NV_DOC="${S}/usr/share/doc"
266 NV_EXEC="${S}/usr/bin"
267 NV_SRC="${S}/usr/src/nv"
268 NV_MAN="${S}/usr/share/man/man1"
269 else
270 die "Could not determine proper NVIDIA package"
271 fi
272 }
273
274 src_unpack() {
275 if use kernel_linux && kernel_is lt 2 6 7; then
276 echo
277 ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
278 ewarn "This is not officially supported for ${P}. It is likely you"
279 ewarn "will not be able to compile or use the kernel module."
280 ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"
281 echo
282 ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."
283 fi
284
285 if ! use x86-fbsd; then
286 mkdir "${S}"
287 cd "${S}"
288 unpack_makeself
289 else
290 unpack ${A}
291 fi
292
293 # Patches go below here, add brief description
294 cd "${S}"
295 use x86-fbsd && cd doc
296
297 # Use the correct defines to make gtkglext build work
298 epatch "${FILESDIR}"/NVIDIA_glx-defines.patch
299 # Use some more sensible gl headers and make way for new glext.h
300 epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch
301
302 if use kernel_linux; then
303 # Quiet down warnings the user does not need to see
304 sed -i \
305 -e 's:-Wpointer-arith::g' \
306 -e 's:-Wsign-compare::g' \
307 "${NV_SRC}"/Makefile.kbuild
308
309 # If you set this then it's your own fault when stuff breaks :)
310 use custom-cflags && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.*
311
312 # If greater than 2.6.5 use M= instead of SUBDIR=
313 convert_to_m "${NV_SRC}"/Makefile.kbuild
314 fi
315 }
316
317 src_compile() {
318 # This is already the default on Linux, as there's no toplevel Makefile, but
319 # on FreeBSD there's one and triggers the kernel module build, as we install
320 # it by itself, pass this.
321
322 cd "${NV_SRC}"
323 if use x86-fbsd; then
324 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
325 LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
326 elif use kernel_linux; then
327 linux-mod_src_compile
328 fi
329 }
330
331 src_install() {
332 local MLTEST=$(type dyn_unpack)
333
334 cd "${S}"
335
336 if use kernel_linux; then
337 linux-mod_src_install
338
339 VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)"
340 if [ -z "$VIDEOGROUP" ]; then
341 eerror "Failed to determine the video group gid."
342 die "Failed to determine the video group gid."
343 fi
344
345 # Add the aliases
346 [ -f "${FILESDIR}/nvidia" ] || die "nvidia missing in FILESDIR"
347 sed -e 's:PACKAGE:'${PF}':g' \
348 -e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \
349 "${WORKDIR}"/nvidia
350 insinto /etc/modprobe.d
351 newins "${WORKDIR}"/nvidia nvidia.conf || die
352 elif use x86-fbsd; then
353 insinto /boot/modules
354 doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die
355
356 exeinto /boot/modules
357 doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko" || die
358 fi
359
360 if has_multilib_profile ; then
361 local OABI=${ABI}
362 for ABI in $(get_install_abis) ; do
363 src_install-libs
364 done
365 ABI=${OABI}
366 unset OABI
367 else
368 src_install-libs
369 fi
370
371 is_final_abi || return 0
372
373 # Documentation
374 dodoc "${NV_DOC}"/XF86Config.sample
375 dohtml "${NV_DOC}"/html/*
376 if use x86-fbsd; then
377 dodoc "${NV_DOC}/README"
378 else
379 # Docs
380 newdoc "${NV_DOC}/README.txt" README
381 dodoc "${NV_DOC}/NVIDIA_Changelog"
382 fi
383
384 if use kernel_linux; then
385 doman "${NV_MAN}/nvidia-smi.1.gz"
386 fi
387 doman "${NV_MAN}/nvidia-xconfig.1.gz"
388
389 # Helper Apps
390 dobin ${NV_EXEC}/nvidia-xconfig || die
391 dobin ${NV_EXEC}/nvidia-bug-report.sh || die
392 if use kernel_linux; then
393 dobin ${NV_EXEC}/nvidia-smi || die
394 fi
395 }
396
397 # Install nvidia library:
398 # the first parameter is the place where to install it
399 # the second parameter is the base name of the library
400 # the third parameter is the provided soversion
401 donvidia() {
402 dodir $1
403 exeinto $1
404
405 libname=$(basename $2)
406
407 # libnvidia-cfg.so is no longer supplied in lib32; step over it gracefully
408 if [ -e $2.$3 ] ; then
409 doexe $2.$3
410 dosym ${libname}.$3 $1/${libname}
411 [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1
412 fi
413 }
414
415 src_install-libs() {
416 local pkglibdir=lib
417 local inslibdir=$(get_libdir)
418
419 if [[ ${#} -eq 2 ]] ; then
420 pkglibdir=${1}
421 inslibdir=${2}
422 elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then
423 pkglibdir=lib32
424 fi
425
426 local usrpkglibdir=usr/${pkglibdir}
427 local libdir=usr/X11R6/${pkglibdir}
428 local drvdir=${libdir}/modules/drivers
429 local extdir=${libdir}/modules/extensions
430 local incdir=usr/include/GL
431 local sover=${PV}
432 local NV_ROOT="/usr/${inslibdir}/opengl/nvidia"
433 local NO_TLS_ROOT="${NV_ROOT}/no-tls"
434 local TLS_ROOT="${NV_ROOT}/tls"
435 local X11_LIB_DIR="/usr/${inslibdir}/xorg"
436
437 if use x86-fbsd; then
438 # on FreeBSD everything is on obj/
439 pkglibdir=obj
440 usrpkglibdir=obj
441 x11pkglibdir=obj
442 drvdir=obj
443 extdir=obj
444
445 # don't ask me why the headers are there.. glxext.h is missing
446 incdir=doc
447
448 # on FreeBSD it has just .1 suffix
449 sover=1
450 fi
451
452 # The GLX libraries
453 donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover}
454 donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover}
455
456 donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libnvidia-cfg.so ${sover}
457
458 dodir ${NO_TLS_ROOT}
459 donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover}
460
461 if ! use x86-fbsd; then
462 donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover}
463 fi
464
465 if want_tls ; then
466 dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib
467 dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
468 dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
469 else
470 dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib
471 dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
472 dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
473 fi
474
475 if ! use x86-fbsd; then
476 # Install the .la file for libtool, to prevent e.g. bug #176423
477 [ -f "${FILESDIR}/libGL.la-r2" ] || die "libGL.la-r2 missing in FILESDIR"
478 local ver1=$(get_version_component_range 1)
479 local ver2=$(get_version_component_range 2)
480 local ver3=$(get_version_component_range 3)
481 sed -e "s:\${PV}:${PV}:" \
482 -e "s:\${ver1}:${ver1}:" \
483 -e "s:\${ver2}:${ver2}:" \
484 -e "s:\${ver3}:${ver3}:" \
485 -e "s:\${libdir}:${inslibdir}:" \
486 "${FILESDIR}"/libGL.la-r2 > "${D}"/${NV_ROOT}/lib/libGL.la
487 fi
488
489 exeinto ${X11_LIB_DIR}/modules/drivers
490
491 [[ -f ${drvdir}/nvidia_drv.so ]] && \
492 doexe ${drvdir}/nvidia_drv.so
493
494 insinto /usr/${inslibdir}
495 [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \
496 doins ${libdir}/libXvMCNVIDIA.a
497 exeinto /usr/${inslibdir}
498 # fix Bug 131315
499 [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \
500 doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \
501 dosym libXvMCNVIDIA.so.${PV} \
502 /usr/${inslibdir}/libXvMCNVIDIA.so
503
504 exeinto ${NV_ROOT}/extensions
505 [[ -f ${libdir}/modules/libnvidia-wfb.so.${sover} ]] && \
506 newexe ${libdir}/modules/libnvidia-wfb.so.${sover} libwfb.so
507 [[ -f ${extdir}/libglx.so.${sover} ]] && \
508 newexe ${extdir}/libglx.so.${sover} libglx.so
509
510 # Includes
511 insinto ${NV_ROOT}/include
512 doins ${incdir}/*.h
513
514 #cuda
515 if [[ -f usr/include/cuda/cuda.h ]]; then
516 dodir /usr/include/cuda
517 insinto /usr/include/cuda
518 doins usr/include/cuda/*.h
519
520 if [[ -f usr/${pkglibdir}/libcuda.so.${PV} ]]; then
521 dolib.so usr/${pkglibdir}/libcuda.so.${PV}
522 dosym libcuda.so.${PV} /usr/${inslibdir}/libcuda.so.1
523 dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
524 fi
525 fi
526
527 #vdpau
528 if [[ -f usr/include/vdpau/vdpau.h ]]; then
529 dodir /usr/include/vdpau
530 insinto /usr/include/vdpau
531 doins usr/include/vdpau/*.h
532
533 for vdpaulib in vdpau_nvidia vdpau vdpau_trace; do
534 dolib.so usr/${pkglibdir}/lib${vdpaulib}.so.${PV}
535 dosym lib${vdpaulib}.so.${PV} /usr/${inslibdir}/lib${vdpaulib}.so.1
536 dosym lib${vdpaulib}.so.1 /usr/${inslibdir}/lib${vdpaulib}.so
537 done
538 fi
539
540 # OpenCL
541 # NOTE: This isn't currently available in the publicly released drivers.
542 if [[ -f usr/${pkglibdir}/libOpenCL.so.1.0.0 ]]; then
543 dodir /usr/include/CL
544 insinto /usr/include/CL
545 doins usr/include/CL/*.h
546
547 dolib.so usr/${pkglibdir}/libnvcompiler.so.${PV}
548 dosym libnvcompiler.so.${PV} /usr/${inslibdir}/libnvcompiler.so.1
549 dosym libnvcompiler.so.1 /usr/${inslibdir}/libnvcompiler.so
550
551 dolib.so usr/${pkglibdir}/libOpenCL.so.1.0.0
552 dosym libOpenCL.so.1.0.0 /usr/${inslibdir}/libOpenCL.so.1
553 dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so
554 fi
555 }
556
557 pkg_preinst() {
558
559 # Clean the dynamic libGL stuff's home to ensure
560 # we dont have stale libs floating around
561 if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
562 rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
563 fi
564 # Make sure we nuke the old nvidia-glx's env.d file
565 if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
566 rm -f "${ROOT}"/etc/env.d/09nvidia
567 fi
568 }
569
570 pkg_postinst() {
571 if use kernel_linux; then
572 linux-mod_pkg_postinst
573 fi
574
575 # Switch to the nvidia implementation
576 eselect opengl set --use-old nvidia
577
578 echo
579 elog "You must be in the video group to use the NVIDIA device"
580 elog "For more info, read the docs at"
581 elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
582 elog
583
584 elog "This ebuild installs a kernel module and X driver. Both must"
585 elog "match explicitly in their version. This means, if you restart"
586 elog "X, you most modprobe -r nvidia before starting it back up"
587 elog
588
589 elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
590 elog
591 elog "nVidia has requested that any bug reports submitted have the"
592 elog "output of /usr/bin/nvidia-bug-report.sh included."
593 elog
594 elog "To work with compiz, you must enable the AddARGBGLXVisuals option."
595 elog
596 elog "If you are having resolution problems, try disabling DynamicTwinView."
597 echo
598 }
599
600 want_tls() {
601 # For uclibc or anything non glibc, return false
602 has_version sys-libs/glibc || return 1
603
604 # Old versions of glibc were lt/no-tls only
605 has_version '<sys-libs/glibc-2.3.2' && return 1
606
607 if use x86 ; then
608 case ${CHOST/-*} in
609 i486|i586|i686) ;;
610 *) return 1 ;;
611 esac
612 fi
613
614 # If we've got nptl, we've got tls
615 built_with_use --missing true sys-libs/glibc nptl && return 0
616
617 # 2.3.5 turned off tls for linuxthreads glibc on i486 and i586
618 if use x86 && has_version '>=sys-libs/glibc-2.3.5' ; then
619 case ${CHOST/-*} in
620 i486|i586) return 1 ;;
621 esac
622 fi
623
624 # These versions built linuxthreads version to support tls, too
625 has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0
626
627 return 1
628 }
629
630 pkg_postrm() {
631 if use kernel_linux; then
632 linux-mod_pkg_postrm
633 fi
634 eselect opengl set --use-old xorg-x11
635 }