diff options
author | 2010-03-17 23:28:03 +0000 | |
---|---|---|
committer | 2010-03-17 23:28:03 +0000 | |
commit | 4b0bdc07e6ea5512a880a102afc60edfb2289ed6 (patch) | |
tree | 966341c06db79d9af5da2827e883cd2da288dad4 /x11-drivers | |
parent | Version bump. Use new --no-clean option added to prevent sandbox (diff) | |
download | historical-4b0bdc07e6ea5512a880a102afc60edfb2289ed6.tar.gz historical-4b0bdc07e6ea5512a880a102afc60edfb2289ed6.tar.bz2 historical-4b0bdc07e6ea5512a880a102afc60edfb2289ed6.zip |
add back 173.14.20 at the request of Giao Phan <casret@pobox.com> for bug #294089
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'x11-drivers')
-rw-r--r-- | x11-drivers/nvidia-drivers/ChangeLog | 7 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/Manifest | 12 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-173.14.20.ebuild | 510 |
3 files changed, 524 insertions, 5 deletions
diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index e52b6fd1278f..734c2b207ac8 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-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.224 2010/03/17 23:05:06 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.225 2010/03/17 23:28:03 cardoe Exp $ + + 17 Mar 2010; Doug Goldstein <cardoe@gentoo.org> + +nvidia-drivers-173.14.20.ebuild: + add back 173.14.20 at the request of Giao Phan <casret@pobox.com> for bug + #294089 *nvidia-drivers-195.36.15 (17 Mar 2010) diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 7a93f740b950..c5960fd596ec 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -13,6 +13,7 @@ AUX libGL.la-r2 733 RMD160 479612ab30c04ca0683c7d9edaf9ab3de783e4a9 SHA1 88656b7 AUX nvidia 1510 RMD160 ca0d0e5375109d9edf682d9bdda743b7c693e4d4 SHA1 85cf9bff167dcc063ba61426523973e9598085f7 SHA256 b193cc3f6d6f39138720a2282d9f161fc8f2e8a15bc43d183a30eb879add06c5 AUX nvidia-169.07 639 RMD160 8baddb6fd1bf7f0e2688870a78e8ace051d62e3f SHA1 b30487ba2a24a6b1359d1fd831eeb1705060953c SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 AUX nvidia-drivers-190.53-2.6.33.patch 2893 RMD160 29f6cf29909828f8d22504dfcb43b23aeeff78dd SHA1 412f8a2b208e8af886891985fcabf8623c9943c3 SHA256 68f5cdf4489fb6bc480319e4bda6e6481beb189cf37920b939b8f7bbf77aed1f +DIST NVIDIA-FreeBSD-x86-173.14.20.tar.gz 16211218 RMD160 4c5dabe1f6ab708c3dab6722889e44968ca492f0 SHA1 0dbf09c072fe706d4fd71fe817830305e6100955 SHA256 c5a27324d96391ada41b4ccbbf2a321c3d86693e54d1e9d1139d97c3132530f3 DIST NVIDIA-FreeBSD-x86-173.14.22.tar.gz 16681759 RMD160 bd1e1321dd9f21c1642c1e155db29b78d4af0a3f SHA1 af97c1ff136924520d6738cbf0a376f63c297a18 SHA256 fac71118334ef32874daa5fd98e56c4af2f9fcdf56d63b20e6f92983a5f91c31 DIST NVIDIA-FreeBSD-x86-173.14.25.tar.gz 16682722 RMD160 37ff4b3024441602b7c15d1906258c7a0191399a SHA1 da101f74036c1f6e23c4304de8a5f85f341befed SHA256 c432ed94ce71e297b2d9304d9f34f906b58e2c7c4bc13d8dbac264ed52fd6261 DIST NVIDIA-FreeBSD-x86-180.60.tar.gz 18594717 RMD160 f295b96305327c1d125709f35b7a863ad0dfa18e SHA1 a9051cd69a22748c88796a5903d893fcee24718d SHA256 7ddf39476b42ccf1f0585340ad6b384d5c7cdc5825cba33f81138156077bf89a @@ -23,6 +24,7 @@ DIST NVIDIA-FreeBSD-x86-195.30.tar.gz 14178989 RMD160 7057042c2e21108e7e7cb8ec82 DIST NVIDIA-FreeBSD-x86-195.36.15.tar.gz 14539561 RMD160 1b340f920d76ab9060ae910130991aac1ecb535b SHA1 a6d93093c18ef60f8ffcc784991da469df0d43e2 SHA256 c5a762fdd4914429c2205259072f2df53c1be6db44bea4dcc336200e4227e33a DIST NVIDIA-FreeBSD-x86-96.43.14.tar.gz 11841802 RMD160 c7abb4a4a806288ffa0fc531fad5ba74129ae185 SHA1 d5072365ebd8cd1a9ce0eeac03f8a1213ca37d2f SHA256 5f68d2e4b7b11a6390cfd8f2f4ee0ae594d7a833f65c1bd66219e1440c5ec945 DIST NVIDIA-FreeBSD-x86-96.43.16.tar.gz 11842453 RMD160 c52b6c99b4745869d7f1de80009edbd57df52fc9 SHA1 fc74c5a65e69bcb50b1f9467f435f8001970b2a3 SHA256 38bf334284dc600d92d8436333c98d5577e34d69456ed71f1cccc75caa6dffcd +DIST NVIDIA-Linux-x86-173.14.20-pkg0.run 11882316 RMD160 690fc0799c05166e35b9a3cafa143cdcea533468 SHA1 be25da830b9debde96bfcd15cfa9bebb576886a5 SHA256 fefca3fe64dd4ddd4f93920906aa36270c154e58e4271bae51b48dfcd308e5bd DIST NVIDIA-Linux-x86-173.14.22-pkg0.run 12262547 RMD160 8fd540c277994caa6c7f0851f603f55c37e05440 SHA1 eb12529b586edb2e596054bef0701ae55eda014f SHA256 7e357a475771f538c01bd14776e7c43848a5ae3e30198f2173b10fb0a5d8023d DIST NVIDIA-Linux-x86-173.14.25-pkg0.run 12265104 RMD160 0841a2ff500a85c539563da2ef2cb26ffc062fa5 SHA1 9e4dcae8163104a592b5f4e39081f6ba868c350d SHA256 403d730cc2135856980b2c3253fc2a715e80016028f4c087622658f98316762a DIST NVIDIA-Linux-x86-180.60-pkg0.run 13574190 RMD160 fd43b3a3bdd05b292b6f8f363c45b3ae677f5ad0 SHA1 d9a68f1536edb4f276634acd8ec2377ea252de69 SHA256 42706637c02dfe2aad5df69f5cc2b3ce0ad13021c6a9b49e42c6e5052eaa7d89 @@ -34,6 +36,7 @@ DIST NVIDIA-Linux-x86-195.36.15-pkg0.run 24602393 RMD160 675f3c44854a41c46ece170 DIST NVIDIA-Linux-x86-71.86.11-pkg0.run 5275754 RMD160 efe88c673bc3ba665419fd63404aba7858a54993 SHA1 a7d67c9f054fe3fb5072d49ca799e21b030ebe85 SHA256 75a1471eee07c5ec5cec894bf5d331b4d578adb52b6ba7bbec5fe141f061134b DIST NVIDIA-Linux-x86-96.43.14-pkg0.run 8440560 RMD160 7c8769bbaddbab31d24c852a8ee832639fc6545a SHA1 5764bb2d88a529f4478f867e4c5a67ab4c2bf5c6 SHA256 7906f34371f06ca8deb977e1e9c321b1687e0db3fecf98e1ba7bc0779b8c236d DIST NVIDIA-Linux-x86-96.43.16-pkg0.run 8441195 RMD160 3d1b09b87013d765e0fc602b9fe77aa96e650e70 SHA1 f17ff6c4862ba06b2208eb18e46c323927db65eb SHA256 243e458ccaf898c49794030cbbc59a0d740a4cefb2891ecc5721f6db79088ced +DIST NVIDIA-Linux-x86_64-173.14.20-pkg2.run 17154542 RMD160 252bb1f5218b2530efc148d08ed9fe2422224ca2 SHA1 0300144c6955e296b134cadf3337c0d2b8266cda SHA256 ac855812b4eebe8646540ebbc6fea29731e0d93e44b19724c98fb4fdbc8c6baf DIST NVIDIA-Linux-x86_64-173.14.22-pkg2.run 17600840 RMD160 f4c55ebd0d8a31cb0c1a8caf5ad007e9447f25f5 SHA1 d42694e59c67e779e9ab79b95df81ca5350cf101 SHA256 a2a9e973117fc1d92cf7357db42477727c30c34fc0a2ff54b074e6a392bc3f6d DIST NVIDIA-Linux-x86_64-173.14.25-pkg2.run 17600598 RMD160 09b49035dbd28e797f7c085411ad1d2473d1a08c SHA1 10f51c25657b526d43237ea7b2a17dd0f36390d6 SHA256 fd0e331f41e48e34ac1dd1b96f913cb0a1f095611165732b499cff31be1ff835 DIST NVIDIA-Linux-x86_64-180.60-pkg2.run 21479961 RMD160 150d7841814b58b7e1f570264ef7a3b06df7ad84 SHA1 606b6a9b1cd9fae7d3e3cd11de64b8c6f97b4518 SHA256 69eee4532031cb4107ea5d67743e8a210f83e2e3aa688d50c7f2f0bc8cc95933 @@ -45,6 +48,7 @@ DIST NVIDIA-Linux-x86_64-195.36.15-pkg2.run 42058835 RMD160 f38daaeca7d734cdc8b7 DIST NVIDIA-Linux-x86_64-71.86.11-pkg2.run 8390675 RMD160 5ce5f01f70901e9fa711d1ef5d0e20bd471d9af5 SHA1 92364b06bf9aad89b6be351ed23ed316a6cd2515 SHA256 fccfd8f017820599e7a29443d65d990a2d083479c7ed980249cc0d37ca5cfba7 DIST NVIDIA-Linux-x86_64-96.43.14-pkg2.run 12335444 RMD160 acb51a655176459067d0e21abe56817bc312a593 SHA1 48e63fa012e9e6240319bc2713af3b1e900375dc SHA256 39095e16edc8db19b2c5c38a97f383445a0930e76b74185bc9e3527dbb2cccfd DIST NVIDIA-Linux-x86_64-96.43.16-pkg2.run 12337604 RMD160 fd7c586b53ff0b19034f8ef24dd24bec41940136 SHA1 b06a13d23565966821061c8d7cd1a636079ed1d8 SHA256 476538ffc3f7a5e964c7449d5242b0a684c95013d6fb1f5baa2324ef34aa5a73 +EBUILD nvidia-drivers-173.14.20.ebuild 14931 RMD160 296c79b264fba2c1af0cbceea8c0e0a3cdd68b96 SHA1 fa87cc5b03335d1cc8c4f0f9fb3740b8b0f4a0c8 SHA256 a216fa55051f276d2a22a10ceba4c3e08234213b36d2f8f5591a608ed04cde17 EBUILD nvidia-drivers-173.14.22.ebuild 15354 RMD160 43cf7e88d864d308e4d44163bb5c8cc0cc9d5d6c SHA1 5d9d8b3c898f4b2e04042380327fcbcd453088bf SHA256 d4d57421d0d162260bb309c3d3842c6ce8464d2dc1083249ade79af5a86de258 EBUILD nvidia-drivers-173.14.25.ebuild 15359 RMD160 680a54cc6dbfbffb2fd91a1eb74c645620ce648e SHA1 36baf797ca3ed71bc118d23e105cffdac31386d8 SHA256 8deb7b178e878945f3c29b88560bb4a8151bd673134dfd1166f44140b425c0c5 EBUILD nvidia-drivers-180.60.ebuild 16498 RMD160 350d810e70913d1c29ce527efc18b5cfc79fac10 SHA1 6d28f663441d64fa47b41d63bdf5f46616cb71ef SHA256 a4b527c2831e37d969abaafcc5af7ca5742a298560612ffb3581b1099f16b45b @@ -57,12 +61,12 @@ EBUILD nvidia-drivers-195.36.15.ebuild 15687 RMD160 6434069c97b748eb44f908ad8213 EBUILD nvidia-drivers-71.86.11.ebuild 14141 RMD160 e1ca921a6dc2381be5acf05afa3933129feaaad1 SHA1 f71d5bf4a065ae475d0f4ae48d1b1cac802a1502 SHA256 7eab9ddf9cd45b876d4fd57cd204edbb6080261306a1804220b5ef808b64cd64 EBUILD nvidia-drivers-96.43.14.ebuild 15370 RMD160 b14c286fc0eba4066ac78f3603223f404d3c293f SHA1 9526821a410c553c26e41f610502297b12bcd330 SHA256 05f4a3bab44153cef7c0eb09e8dbdcaca73c3391eb7c18a2a47ccd798cbd8255 EBUILD nvidia-drivers-96.43.16.ebuild 15370 RMD160 3cca3242c024470a3b4ea80c74a676a477a96fde SHA1 8d1cd290a0ac263e311fd2b8755cff834e16c62a SHA256 8fd4fa32f1067998b1a711f00c3e3c2bf4752e5c91575e1cd04e7fc1f5d7d1f3 -MISC ChangeLog 49841 RMD160 b758bc7292106d4a7ba5d6ad51837ef3c52a2cd9 SHA1 0c32586ea8d9ccde5fa29a785c66aeb95405a8de SHA256 1be16044d555fe4af96dedc28c1f982f229cc4495ac45068ffa8c4b4cb761dab +MISC ChangeLog 50014 RMD160 cdc8f1dedde470de439a32115a749d45ab9e7e65 SHA1 c692725afe13acc9c781d2149ef0d04771bc07a5 SHA256 8546cbac219f3ca83300a9cb8d5ef8e6941d7e931983adb1460761ac86a78005 MISC metadata.xml 608 RMD160 69923c951a3b11d3632338cd673430c1335f78cd SHA1 febe635634c122bf9fb5fd83fd486ab5a25282b3 SHA256 6b13dc244ff827b23a6f1de01eef3a7f607917573fb36b7316a1a629c78cc6bd -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) -iEYEARECAAYFAkuhYCwACgkQoeSe8B0zEfxFLwCeMiI9pGxVc7DEMuwmAxShkVQu -DyAAnR9C1yeX1HmqeyTMWn/6dCVLUJCt -=4gFQ +iEYEARECAAYFAkuhZYwACgkQoeSe8B0zEfzdZwCdHWk5I5CvWMXYcTlhkGmwrJqi +JIUAniBRI22dNuAZ7mXewzojSy0t0imm +=cWtR -----END PGP SIGNATURE----- diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.20.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.20.ebuild new file mode 100644 index 000000000000..b4f1ac931588 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.20.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2010 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.20.ebuild,v 1.9 2010/03/17 23:28:03 cardoe Exp $ + +EAPI="2" + +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? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run ) + amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run ) + x86-fbsd? ( http://us.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="<x11-base/xorg-server-1.6.99 + multilib? ( app-emulation/emul-linux-x86-xlibs ) + kernel_FreeBSD? ( !media-video/nvidia-freebsd ) + !app-emulation/emul-linux-x86-nvidia + !x11-drivers/nvidia-legacy-drivers" +DEPEND="${COMMON} + kernel_linux? ( virtual/linux-sources ) + app-admin/eselect-opengl" +RDEPEND="${COMMON} + kernel_linux? ( virtual/modutils ) + !>=media-libs/mesa-7.6 + acpi? ( sys-power/acpid )" +PDEPEND="gtk? ( media-video/nvidia-settings )" + +QA_TEXTRELS_x86="usr/lib/libXvMCNVIDIA.so.${PV} + usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so + usr/lib/xorg/modules/drivers/nvidia_drv.so + usr/lib/libcuda.so.${PV}" + +QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko + usr/lib/opengl/nvidia/lib/libGL.so.1 + usr/lib/opengl/nvidia/lib/libGLcore.so.1 + usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.1 + usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.1 + usr/lib/opengl/nvidia/extensions/libglx.so + usr/lib/xorg/modules/drivers/nvidia_drv.so" + +QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libnvidia-cfg.so.${PV} + usr/lib32/libcuda.so.${PV}" + +QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/xorg/modules/drivers/nvidia_drv.so + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libnvidia-cfg.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so + usr/bin/nvidia-xconfig" + +QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so" + +if use x86; then + PKG_V="-pkg0" + NV_PACKAGE="${X86_NV_PACKAGE}" +elif use amd64; then + PKG_V="-pkg2" + NV_PACKAGE="${AMD64_NV_PACKAGE}" +elif use x86-fbsd; then + PKG_V="" + NV_PACKAGE="${X86_FBSD_NV_PACKAGE}" +fi + +S="${WORKDIR}/${NV_PACKAGE}${PKG_V}" + +mtrr_check() { + ebegin "Checking for MTRR support" + linux_chkconfig_present MTRR + eend $? + + if [[ $? -ne 0 ]] ; then + eerror "Please enable MTRR support in your kernel config, found at:" + eerror + eerror " Processor type and features" + eerror " [*] MTRR (Memory Type Range Register) support" + eerror + eerror "and recompile your kernel ..." + die "MTRR support not detected!" + fi +} + +sysvipc_check() { + ebegin "Checking for SYSVIPC support" + linux_chkconfig_present SYSVIPC + eend $? + + if [[ $? -ne 0 ]] ; then + eerror "Please enable SYSVIPC support in your kernel config, found at:" + eerror + eerror " General setup" + eerror " [*] System V IPC" + eerror + eerror "and recompile your kernel ..." + die "SYSVIPC support not detected!" + fi +} + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + if use amd64 && has_multilib_profile && [ "${DEFAULT_ABI}" != "amd64" ]; then + eerror "This ebuild doesn't currently support changing your default abi." + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" + fi + + if use kernel_linux; then + linux-mod_pkg_setup + MODULE_NAMES="nvidia(video:${S}/usr/src/nv)" + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \ + SYSOUT=${KV_OUT_DIR} HOST_CC=$(tc-getBUILD_CC)" + mtrr_check + sysvipc_check + fi + + # On BSD userland it wants real make command + use userland_BSD && MAKE="$(get_bmake)" + + export _POSIX2_VERSION="199209" + + # Since Nvidia ships 3 different series of drivers, we need to give the user + # some kind of guidance as to what version they should install. This tries + # to point the user in the right direction but can't be perfect. check + # nvidia-driver.eclass + nvidia-driver-check-warning + + # set variables to where files are in the package structure + if use kernel_FreeBSD; then + NV_DOC="${S}/doc" + NV_EXEC="${S}/obj" + NV_SRC="${S}/src" + elif use kernel_linux; then + NV_DOC="${S}/usr/share/doc" + NV_EXEC="${S}/usr/bin" + NV_SRC="${S}/usr/src/nv" + else + die "Could not determine proper NVIDIA package" + fi +} + +src_unpack() { + if use kernel_linux && kernel_is lt 2 6 7; then + echo + ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + ewarn "This is not officially supported for ${P}. It is likely you" + ewarn "will not be able to compile or use the kernel module." + ewarn "It is recommended that you upgrade your kernel to a version >= 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 +} + +src_prepare() { + # Please add a brief description for every added patch + 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 + + 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 + newins "${WORKDIR}"/nvidia nvidia.conf || 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 must 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.2' && return 1 + + if use x86 ; then + case ${CHOST/-*} in + i486|i586|i686) ;; + *) return 1 ;; + esac + fi + + # 2.3.5 turned off tls for linuxthreads glibc on i486 and i586 + if use x86 && 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 +} |