From c0e6686d7cb8d1df271cca2711c329986a897460 Mon Sep 17 00:00:00 2001 From: Ricardo Mendoza Date: Fri, 19 Dec 2008 01:43:05 +0000 Subject: Version bump. Fixes compilation issues with newer kernels. Package-Manager: portage-2.2_rc8/cvs/Linux 2.6.25-gentoo-r5 x86_64 --- x11-drivers/nvidia-drivers/ChangeLog | 7 +- x11-drivers/nvidia-drivers/Manifest | 18 +- .../nvidia-drivers/nvidia-drivers-173.14.15.ebuild | 514 +++++++++++++++++++++ 3 files changed, 526 insertions(+), 13 deletions(-) create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-173.14.15.ebuild (limited to 'x11-drivers') diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index 8d7f1eaf8b65..7c10008ed4a0 100644 --- a/x11-drivers/nvidia-drivers/ChangeLog +++ b/x11-drivers/nvidia-drivers/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for x11-drivers/nvidia-drivers # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.123 2008/12/18 22:32:57 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.124 2008/12/19 01:43:05 ricmm Exp $ + +*nvidia-drivers-173.14.15 (19 Dec 2008) + + 19 Dec 2008; +nvidia-drivers-173.14.15.ebuild: + Version bump. Fixes compilation issues with newer kernels. *nvidia-drivers-96.43.09 (18 Dec 2008) diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index c36ea341e740..241b5552425b 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX 09nvidia 61 RMD160 b69c3282ba6195112e312fe34bdcb12544aef8ca SHA1 05dd043f66f53409dfe511636d92a339edb4c765 SHA256 14702d6726cc9f0ad832a3cc90059999eb956f9e3a35397cb63cfa6347b33e39 AUX NVIDIA_glx-defines.patch 437 RMD160 7cc38de0663c51d9e3718f02035a940a5d31e53c SHA1 eef9bcae32d4e00133b205e27ce766488d5c6cdb SHA256 0007f3d962edb87da4788ce58869679c1b10f28223a6bf1c23696fede57305da AUX NVIDIA_glx-glheader.patch 380 RMD160 ee9a10cfbed10d5711f58a80553ffebeea5853bf SHA1 72abfedb9dfb7dae7dc23a5701d3e00282fef2c0 SHA256 f630e24067bf6199a64f8fe8c5d6fc158cb4b153bda65ffc3f97b36a9cb08faf @@ -17,11 +14,13 @@ AUX nvidia-169.07 639 RMD160 8baddb6fd1bf7f0e2688870a78e8ace051d62e3f SHA1 b3048 DIST NVIDIA-FreeBSD-x86-100.14.19.tar.gz 11146166 RMD160 144d7a91fb4da94ae45bf9767ac66b2a3b2f0801 SHA1 8f34cd0467672a51103fed0fce64264b4ef71957 SHA256 c5a37e34266538b0ecfbbec95c7d5f9767e0d750cbf66a7cb54cc13895d601ad DIST NVIDIA-FreeBSD-x86-173.14.09.tar.gz 15858904 RMD160 4935e736e227f1107a70261b1228297365f8e73a SHA1 ccfa5e60e02dc71e340a7c241ab0aed80389127b SHA256 be69a164e60c48e8dc272dbf503a201256f374760d67e4fddca74b23e4aa2cee DIST NVIDIA-FreeBSD-x86-173.14.12.tar.gz 15856061 RMD160 c68ef8983bbd84d68142c8277ab6cb8c6cef7d70 SHA1 711a64b4bd68bb665abb649373adee6b7f07ef3e SHA256 0b9849d0f2b09533c384227370c94469a45384adc216a8b716a02bfc9a7340be +DIST NVIDIA-FreeBSD-x86-173.14.15.tar.gz 16212612 RMD160 136bb03f1a465fcda058b0bc95eac77ce95ee088 SHA1 cc859db781552e979e6e7055f19fe717679bd0f9 SHA256 971388007d9522573752f36be009b49e0db14d957dd79119790a627320bdea2b DIST NVIDIA-FreeBSD-x86-177.80.tar.gz 16704786 RMD160 88b85e8872338b8b91ff1c51570b93302bd7514a SHA1 e7ba987ab22fd5644a073b4fcf8477d036264cd4 SHA256 169f06ff5af4c4b5a0f0fbec6a1d7d7318feb25dce64cdbe63861af92de65437 DIST NVIDIA-FreeBSD-x86-177.82.tar.gz 16708972 RMD160 ef85282a05127a7d5c764243deb2448d9045f0ba SHA1 1df52f23e241a847c256f125b3bc73d2d714e344 SHA256 705c2ed339fbe17545b490d6fced7da351624f767b3d710dbeabfc6447079ac1 DIST NVIDIA-Linux-x86-100.14.19-pkg0.run 7592917 RMD160 717c168cbc78c804c540b813ef2bb634834446ec SHA1 d645b21dfd43e0c0640783f2336d51f2e3151353 SHA256 46c8629a0f07eaa3009df835cdeb51db8a24d3d17b114b04ec2eae1b3ab69a2f DIST NVIDIA-Linux-x86-173.14.09-pkg0.run 11590266 RMD160 b61f4af4fc51b0f62983a13412b31c4bcb620b8b SHA1 941b4029dd677418a820a5bd90230116d6b6cfb9 SHA256 efa0f96b83c7163ab748321301234256ecc455475fce7d7d7c96a10a9236f874 -DIST NVIDIA-Linux-x86-173.14.12-pkg0.run 11587505 RMD160 97d02d21f94b2c93f27af044a17dd8a990bdc17e SHA1 64e366fe15dabc6db0f452c58285258e6e60440c SHA256 a5d9e087cbe0f34bb9ae11e36fa25ce5b9622b0b50cd4e639aab1181e6379b11 +DIST NVIDIA-Linux-x86-173.14.12-pkg0.run 1617131 RMD160 70d0ac4d9d8e0da14b0d576416cacee9cd421b36 SHA1 7544da2731d7b2c49433809a1d40859e2ea2993a SHA256 5a1cc8e5399a21ee7632e5dfa481757e5bd8e30f08448da2ad710f3f17dd3d48 +DIST NVIDIA-Linux-x86-173.14.15-pkg0.run 11876894 RMD160 ecfa439b84db97d7dfdd4337bd0138d1a49c6bd7 SHA1 e480c29f5c1ead123c546be10b81d747bd7a675c SHA256 736b4314854e676570f6c4a179bfa65763c73fbdaaaa5de91f5820f8d170ada4 DIST NVIDIA-Linux-x86-177.80-pkg0.run 12743262 RMD160 ffeb2f6ed3c4ba4ae8678c502a78440abfdbebfb SHA1 b193ae0d386b88ee0e7dbecbb565bb7ae70c1e05 SHA256 7a0afe3e9bcdd5ec4cf078d38592f408f8cccfb2c50beca71cf47b53be1aa997 DIST NVIDIA-Linux-x86-177.82-pkg0.run 12747296 RMD160 1edf12487961bcf6c932797ea28db20dc48c3e19 SHA1 efca3d21433250221dcdee4d304e999a7cf20fae SHA256 947384416a991a583aa44dfb594e323858ecaedf4e6ad859849e43301c9f9515 DIST NVIDIA-Linux-x86-71.86.06-pkg0.run 5261179 RMD160 87541a06f384b567b5762bf5e01faee7c4983fc0 SHA1 744b7885dcb99b1cbc9d3f61a755644f149eb0c9 SHA256 bd89aa8656fbc49f0cf0b5e9d6975f2345d7363ca240f7b67d92690ad8e3e1d7 @@ -31,6 +30,7 @@ DIST NVIDIA-Linux-x86-96.43.09-pkg0.run 7235652 RMD160 0e2aa9244efa4abba6b33462c DIST NVIDIA-Linux-x86_64-100.14.19-pkg2.run 11566207 RMD160 dde900edfb7c12615a85f629a5e65d1ddfcfafa2 SHA1 964337af292d792e92389897ecd1a819880107ef SHA256 2eaf98e6d09ba7daf73d33750a81afc864e78e27a8c8875d145ee92ac10b68c1 DIST NVIDIA-Linux-x86_64-173.14.09-pkg2.run 16797261 RMD160 496e619f251fc1540b8e6b4063de9b4d3bb32b1a SHA1 54c63dee711ea9243fa9baa00d6ce74500508fa5 SHA256 21957e2b3825799232595b50ea69f3f95c8c1fcd5ba8762c2fae88e117492000 DIST NVIDIA-Linux-x86_64-173.14.12-pkg2.run 16794952 RMD160 68e27029a16dfe7a5b671a4ab332cca162eee78e SHA1 78d3034314df7f9c95526707d7fcf4543f5993ed SHA256 9a208cefd503d110c4383c41a2efa67fe9b6fa584d3d9dc643e927a3eece74c9 +DIST NVIDIA-Linux-x86_64-173.14.15-pkg2.run 17153650 RMD160 e156525049175e8f5a7dc27c920f0a2f5ae5d47d SHA1 165563ca94d20b78aea2ce5752d14350ef38af6e SHA256 26de94a26e8892f1cdabfb2ae94a0ec0332a901aefb47b38dbb3a3b334513981 DIST NVIDIA-Linux-x86_64-177.80-pkg2.run 19409654 RMD160 e492240b2c6ce78edd8c1dfd856b98a477844bac SHA1 218e803705269498552c877e8d27316ef323c983 SHA256 877c1d70568d75ab34ded0e4eac97374d7cf19a20ac51860f27a5157d89da1cf DIST NVIDIA-Linux-x86_64-177.82-pkg2.run 19416201 RMD160 82a7d9f38965a256d270f2e13a0a673b90247f61 SHA1 b99947e3732f11ddbad5bdcc033154ce55976fc3 SHA256 4235f3acc516cf209b91222c87ba768c5fdbef171c7737db9f1d6cc890f2737f DIST NVIDIA-Linux-x86_64-71.86.06-pkg2.run 8380369 RMD160 dece285c6e02da8e788d977c2df114b3bbf8cc0f SHA1 518dd3e4d8ff484a6809184064d39afe0004ef45 SHA256 00f21f8ef75eeade437bb611fac98c4df6c4bef82293ad1d4506020f7004b57b @@ -40,18 +40,12 @@ DIST NVIDIA-Linux-x86_64-96.43.09-pkg2.run 10940888 RMD160 9dfb6264fdd932cb8dd45 EBUILD nvidia-drivers-100.14.19.ebuild 14672 RMD160 3e329b3d391ec7dace10441a57c3f7e3038746a1 SHA1 d413bd6d84a7285c9517e3e641401d62d90fa29d SHA256 dd86989df3ad1e69e490360183e84d6ac6ef974c07da6c48201f7135fd8147a7 EBUILD nvidia-drivers-173.14.09.ebuild 15164 RMD160 7e4a7cda38976424d131fb44c80d9247e50b35b1 SHA1 979cc43a938378bf46eb362c3f6fd5a96dc198a3 SHA256 f63798d044ee49be4be6c71013961dbba22f0253df2722f376620d79268ed6f7 EBUILD nvidia-drivers-173.14.12.ebuild 15103 RMD160 f48624f0a133fdfcad40a3728d8e1cbb28f3ba01 SHA1 d0417d41f3e5a1fc0ec9cef874297f89277483d2 SHA256 06664a012fa8c847ea55d319bf083802b21953522b881e7f712e514e3bf1335f +EBUILD nvidia-drivers-173.14.15.ebuild 15090 RMD160 ae4c252b46a00c0781ae54df7a21f3172946b7d2 SHA1 29c7a70a63e9d157f9c5dd5f073291aa619b81f3 SHA256 741b2803d2c77a30878bcdb5f1322b7aab053d0b0c2178355f25b94ea8abdce0 EBUILD nvidia-drivers-177.80.ebuild 15048 RMD160 95aedd3d8d984df6ed8e799ab88f76bea155616e SHA1 d08a21a575a55bd133ca05ba4df82bd0d04aa87b SHA256 a5cb848ae004a8a9a922eeca26312c84494e02da8246df8bc4bd28663384941b EBUILD nvidia-drivers-177.82.ebuild 15048 RMD160 9b90d159a53ed3849c60e7553bd804b3a714ea99 SHA1 3efb5781977e8fbc746f480119203a0fda0d57da SHA256 1ee2c1c63489938ceea439b33bf5057371c032393aa92448df3aa23aab358870 EBUILD nvidia-drivers-71.86.06.ebuild 14138 RMD160 2f713727f51ed4fdcf8e94fa629b8892fe3266b1 SHA1 9ac9d3ccae0978327e782c1ba52f506326d565dc SHA256 ea06b4cf57144afe3a08d0a266e0beced197aa53b88464e76d2f4cde9d62c123 EBUILD nvidia-drivers-71.86.07.ebuild 14187 RMD160 9a52a2e665e9058b08762fde679f588d8c39da2a SHA1 b07f989ff64ea6fe59e1ec741e344ab1f08ca672 SHA256 f2adda772dad5338caebf0d882ea4eb6a6af1c6fe550e5866847d7e64233fe32 EBUILD nvidia-drivers-96.43.07.ebuild 14475 RMD160 35dc001755181bdda3e4d0c5be97879d579736a1 SHA1 c5b52dffd298e87c4cd78118bf5ada1f2af770d5 SHA256 07b82b5b503e61212104927ad79e4f75d082e39c0df807800bfaeb9e1874a98d EBUILD nvidia-drivers-96.43.09.ebuild 14513 RMD160 5f09a9e69c0c342cbe81f9aab01d8ef979c1779b SHA1 fc51296a005a32d7d0c9cad77cba2ad6f5615251 SHA256 e9183654fd6d613fd6aafd8ebf7a975736eaeedb7bcb9345adfeeb468eec2627 -MISC ChangeLog 28245 RMD160 f9cae24a39bb0a4b6f5b2490623d8781d7332554 SHA1 89a7f6c0e60297edb7842474681fd38bfa9bc36b SHA256 3743bfbdaef1ffb003cbed220f979727aaac1c45f7865f3f892099eee3c8e7f9 +MISC ChangeLog 28415 RMD160 ac4b5e16e27340dfa85612fc8c69b751b398ec0e SHA1 fe1410525acbf5617f351f1b838e20ffcaa5dce4 SHA256 ecfb39d4afa8803e3461ed434816fdaca3e8eda3279754345930d6bbfcc76a99 MISC metadata.xml 453 RMD160 4e3149a2f84395713739fb8706ac956a03f581e6 SHA1 7631f2686bf4b40f814aa19e99eb94493659cab2 SHA256 ebf76bf6d7f6494241970099567b3292bb1e10f98ebdb9045ecdf92a44599ae6 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAklK1pcACgkQoeSe8B0zEfy+3wCfW24YFURSL9FXNuJE7eMxM0dV -uIMAn2ZeLKxl4gV3BBs0e+CJexvXRG8v -=vRgE ------END PGP SIGNATURE----- diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.15.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.15.ebuild new file mode 100644 index 000000000000..2d49cd5133b6 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.15.ebuild @@ -0,0 +1,514 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.15.ebuild,v 1.1 2008/12/19 01:43:05 ricmm Exp $ + +inherit eutils multilib versionator linux-mod flag-o-matic nvidia-driver + +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" + +DESCRIPTION="NVIDIA X11 driver and GLX libraries" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run ) + amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run ) + x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )" + +LICENSE="NVIDIA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="acpi custom-cflags gtk multilib kernel_linux" +RESTRICT="strip" +EMULTILIB_PKG="true" + +COMMON="= 2.6.7" + echo + ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored." + fi + + if ! use x86-fbsd; then + cd "${WORKDIR}" + bash "${DISTDIR}"/${NV_PACKAGE}${PKG_V}.run --extract-only + else + unpack ${A} + fi + + # Patches go below here, add brief description + cd "${S}" + use x86-fbsd && cd doc + + # Use the correct defines to make gtkglext build work + epatch "${FILESDIR}"/NVIDIA_glx-defines.patch + # Use some more sensible gl headers and make way for new glext.h + epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch + + # allow on board sensors to work with lm_sensors + if use kernel_linux; then + epatch "${FILESDIR}"/NVIDIA_i2c-hwmon.patch + fi + + if use kernel_linux; then + # Quiet down warnings the user does not need to see + sed -i \ + -e 's:-Wpointer-arith::g' \ + -e 's:-Wsign-compare::g' \ + "${NV_SRC}"/Makefile.kbuild + + # If you set this then it's your own fault when stuff breaks :) + use custom-cflags \ + && einfo "Patching ${NV_SRC}/Makefile* to respect custom cflags" \ + && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.* + + # If greater than 2.6.5 use M= instead of SUBDIR= + convert_to_m "${NV_SRC}"/Makefile.kbuild + fi +} + +src_compile() { + # This is already the default on Linux, as there's no toplevel Makefile, but + # on FreeBSD there's one and triggers the kernel module build, as we install + # it by itself, pass this. + + cd "${NV_SRC}" + if use x86-fbsd; then + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \ + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die + elif use kernel_linux; then + linux-mod_src_compile + fi +} + +src_install() { + local MLTEST=$(type dyn_unpack) + + cd "${S}" + + if use kernel_linux; then + linux-mod_src_install + + VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)" + if [ -z "$VIDEOGROUP" ]; then + eerror "Failed to determine the video group gid." + die "Failed to determine the video group gid." + fi + + # Add the aliases + [ -f "${FILESDIR}/nvidia" ] || die "nvidia missing in FILESDIR" + sed -e 's:PACKAGE:'${PF}':g' \ + -e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \ + "${WORKDIR}"/nvidia + insinto /etc/modprobe.d + doins "${WORKDIR}"/nvidia || die + elif use x86-fbsd; then + insinto /boot/modules + doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die + + exeinto /boot/modules + doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko" || die + fi + + if has_multilib_profile ; then + local OABI=${ABI} + for ABI in $(get_install_abis) ; do + src_install-libs + done + ABI=${OABI} + unset OABI + elif use amd64 ; then + src_install-libs lib32 $(get_multilibdir) + src_install-libs lib $(get_libdir) + + rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/include + rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/extensions + else + src_install-libs + fi + + is_final_abi || return 0 + + # Documentation + dodoc "${NV_DOC}"/{XF86Config.sample,Copyrights} + dohtml "${NV_DOC}"/html/* + if use x86-fbsd; then + dodoc "${NV_DOC}/README" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + fi + + # Helper Apps + dobin ${NV_EXEC}/nvidia-xconfig || die + dobin ${NV_EXEC}/nvidia-bug-report.sh || die +} + +# Install nvidia library: +# the first parameter is the place where to install it +# the second parameter is the base name of the library +# the third parameter is the provided soversion +donvidia() { + dodir $1 + exeinto $1 + + libname=$(basename $2) + + # libnvidia-cfg.so is no longer supplied in lib32; step over it gracefully + if [ -e $2.$3 ] ; then + doexe $2.$3 + dosym ${libname}.$3 $1/${libname} + [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1 + fi +} + +src_install-libs() { + local pkglibdir=lib + local inslibdir=$(get_libdir) + + if [[ ${#} -eq 2 ]] ; then + pkglibdir=${1} + inslibdir=${2} + elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then + pkglibdir=lib32 + fi + + local usrpkglibdir=usr/${pkglibdir} + local libdir=usr/X11R6/${pkglibdir} + local drvdir=${libdir}/modules/drivers + local extdir=${libdir}/modules/extensions + local incdir=usr/include/GL + local sover=${PV} + local NV_ROOT="/usr/${inslibdir}/opengl/nvidia" + local NO_TLS_ROOT="${NV_ROOT}/no-tls" + local TLS_ROOT="${NV_ROOT}/tls" + local X11_LIB_DIR="/usr/${inslibdir}/xorg" + + if use x86-fbsd; then + # on FreeBSD everything is on obj/ + pkglibdir=obj + usrpkglibdir=obj + x11pkglibdir=obj + drvdir=obj + extdir=obj + + # don't ask me why the headers are there.. glxext.h is missing + incdir=doc + + # on FreeBSD it has just .1 suffix + sover=1 + fi + + # The GLX libraries + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover} + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover} + + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libnvidia-cfg.so ${sover} + + dodir ${NO_TLS_ROOT} + donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover} + + if ! use x86-fbsd; then + donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover} + fi + + if want_tls ; then + dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + else + dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + fi + + if ! use x86-fbsd; then + # Install the .la file for libtool, to prevent e.g. bug #176423 + [ -f "${FILESDIR}/libGL.la-r2" ] || die "libGL.la-r2 missing in FILESDIR" + local ver1=$(get_version_component_range 1) + local ver2=$(get_version_component_range 2) + local ver3=$(get_version_component_range 3) + sed -e "s:\${PV}:${PV}:" \ + -e "s:\${ver1}:${ver1}:" \ + -e "s:\${ver2}:${ver2}:" \ + -e "s:\${ver3}:${ver3}:" \ + -e "s:\${libdir}:${inslibdir}:" \ + "${FILESDIR}"/libGL.la-r2 > "${D}"/${NV_ROOT}/lib/libGL.la + fi + + exeinto ${X11_LIB_DIR}/modules/drivers + + [[ -f ${drvdir}/nvidia_drv.so ]] && \ + doexe ${drvdir}/nvidia_drv.so + + insinto /usr/${inslibdir} + [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \ + doins ${libdir}/libXvMCNVIDIA.a + exeinto /usr/${inslibdir} + # fix Bug 131315 + [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \ + doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \ + dosym libXvMCNVIDIA.so.${PV} \ + /usr/${inslibdir}/libXvMCNVIDIA.so + + exeinto ${NV_ROOT}/extensions + [[ -f ${libdir}/modules/libnvidia-wfb.so.${sover} ]] && \ + newexe ${libdir}/modules/libnvidia-wfb.so.${sover} libwfb.so + [[ -f ${extdir}/libglx.so.${sover} ]] && \ + newexe ${extdir}/libglx.so.${sover} libglx.so + + # Includes + insinto ${NV_ROOT}/include + doins ${incdir}/*.h + + #cuda + if [[ -f usr/include/cuda/cuda.h ]]; then + dodir /usr/include/cuda + insinto /usr/include/cuda + doins usr/include/cuda/*.h + + if [[ -f usr/${pkglibdir}/libcuda.so.${PV} ]]; then + dolib.so usr/${pkglibdir}/libcuda.so.${PV} + dosym libcuda.so.${PV} /usr/${inslibdir}/libcuda.so.1 + dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so + fi + fi +} + +pkg_preinst() { + + # Clean the dynamic libGL stuff's home to ensure + # we dont have stale libs floating around + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then + rm -rf "${ROOT}"/usr/lib/opengl/nvidia/* + fi + # Make sure we nuke the old nvidia-glx's env.d file + if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then + rm -f "${ROOT}"/etc/env.d/09nvidia + fi +} + +pkg_postinst() { + if use kernel_linux; then + linux-mod_pkg_postinst + fi + + # Switch to the nvidia implementation + eselect opengl set --use-old nvidia + + echo + elog "You must be in the video group to use the NVIDIA device" + elog "For more info, read the docs at" + elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6" + elog + + elog "This ebuild installs a kernel module and X driver. Both must" + elog "match explicitly in their version. This means, if you restart" + elog "X, you most modprobe -r nvidia before starting it back up" + elog + + elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\"" + elog + elog "nVidia has requested that any bug reports submitted have the" + elog "output of /usr/bin/nvidia-bug-report.sh included." + elog + elog "To work with compiz, you must enable the AddARGBGLXVisuals option." + elog + elog "If you are having resolution problems, try disabling DynamicTwinView." + echo +} + +want_tls() { + # For uclibc or anything non glibc, return false + has_version sys-libs/glibc || return 1 + + # Old versions of glibc were lt/no-tls only + has_version '=sys-libs/glibc-2.3.5' ; then + case ${CHOST/-*} in + i486|i586) return 1 ;; + esac + fi + + # These versions built linuxthreads version to support tls, too + has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0 + + return 1 +} + +pkg_postrm() { + if use kernel_linux; then + linux-mod_pkg_postrm + fi + eselect opengl set --use-old xorg-x11 +} -- cgit v1.2.3-65-gdbad