diff options
author | Michael Januszewski <spock@gentoo.org> | 2010-08-04 11:37:15 +0000 |
---|---|---|
committer | Michael Januszewski <spock@gentoo.org> | 2010-08-04 11:37:15 +0000 |
commit | 57d7addd66e48a638b7ae638dd3c4d0cbb4ea18b (patch) | |
tree | 6d87e56d628e489b4306e050029df5b938d92bab /x11-drivers/nvidia-drivers | |
parent | Bug fix version bump. (diff) | |
download | historical-57d7addd66e48a638b7ae638dd3c4d0cbb4ea18b.tar.gz historical-57d7addd66e48a638b7ae638dd3c4d0cbb4ea18b.tar.bz2 historical-57d7addd66e48a638b7ae638dd3c4d0cbb4ea18b.zip |
Version bump.
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'x11-drivers/nvidia-drivers')
-rw-r--r-- | x11-drivers/nvidia-drivers/ChangeLog | 8 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/Manifest | 16 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-256.44.ebuild | 489 |
3 files changed, 511 insertions, 2 deletions
diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index 777d013c3b89..58f6a2bf7414 100644 --- a/x11-drivers/nvidia-drivers/ChangeLog +++ b/x11-drivers/nvidia-drivers/ChangeLog @@ -1,6 +1,12 @@ # 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.243 2010/07/30 22:14:19 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.244 2010/08/04 11:37:15 spock Exp $ + +*nvidia-drivers-256.44 (04 Aug 2010) + + 04 Aug 2010; Michał Januszewski <spock@gentoo.org> + +nvidia-drivers-256.44.ebuild: + Version bump. 30 Jul 2010; Tomáš Chvátal <scarabeus@gentoo.org> nvidia-drivers-71.86.11.ebuild, nvidia-drivers-96.43.14.ebuild, diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index a0832b584085..2a472a9a0146 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX 09nvidia 61 RMD160 b69c3282ba6195112e312fe34bdcb12544aef8ca SHA1 05dd043f66f53409dfe511636d92a339edb4c765 SHA256 14702d6726cc9f0ad832a3cc90059999eb956f9e3a35397cb63cfa6347b33e39 AUX 195.30-unified-arch.patch 1525 RMD160 9872c270b4bb3d3010af3f2b83798631562c8d8f SHA1 06330376e9a25e3317a4bfe12f74af17e56f3448 SHA256 b6224e213820c698315a8645204d992b779f31e8c45c025e740bc189dc1f9bae AUX 256.35-unified-arch.patch 1498 RMD160 63285585705b880f4e745e1f6ffad493ea876d05 SHA1 a2537442b2d896cd8b6e8897b345fee3bfcf5222 SHA256 7861431595e425c5df8acffb8bf536befa7a13618d6f66456aef6dac4db5c314 @@ -20,6 +23,7 @@ DIST NVIDIA-FreeBSD-x86-195.36.15.tar.gz 14539561 RMD160 1b340f920d76ab9060ae910 DIST NVIDIA-FreeBSD-x86-195.36.24.tar.gz 14560761 RMD160 b1eef55df1d34057f10ab521e90e2e0314d10d44 SHA1 cfb3501b405ac883e4d506c509d69aa3b525232f SHA256 c2daa4e99fa6dcc1f3de294ca043cbd184d97459eb46d1ef71b8bb4d47c9de8c DIST NVIDIA-FreeBSD-x86-195.36.31.tar.gz 14561336 RMD160 0ae160f48b85b24ace9f00dcc0df7998b9940f0c SHA1 39ed3938f2dd831de7c81ba8ae6a4b5396d7b967 SHA256 495c7f5ec057852d51d9c465475b14272ce9038fabce215b04c90479550f7c1b DIST NVIDIA-FreeBSD-x86-256.35.tar.gz 26047458 RMD160 5187c8852efb832a25d8fb41c6a6fb744b757b17 SHA1 9cdf494df2f050068e636bfe3ce041c1fa9df9ef SHA256 897c711acdca188da26868aec510c732d34f415ae621c35e5556ed8de493f26e +DIST NVIDIA-FreeBSD-x86-256.44.tar.gz 26354123 RMD160 e3bbcbbe7177b3fe6ee91838c09e64b4a3138ce0 SHA1 dd7ea73248e819cf1df51f4df80ffb75a0ce6773 SHA256 4f765b687ff0bc0790977f23523f86a01761b6ccbea4c486ce6db3abc049fcc2 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-FreeBSD-x86-96.43.18.tar.gz 11841250 RMD160 ee0df712144ae68dfb1fa072a395ad7286c93c42 SHA1 36333977088c59f3f1c5aa9e49f1412bf3c5cf80 SHA256 89d4b1283f36c93641d9f0b177da9408089eb309c454940ebe7908fcbdb87cb1 @@ -32,6 +36,7 @@ DIST NVIDIA-Linux-x86-195.36.15-pkg0.run 24602393 RMD160 675f3c44854a41c46ece170 DIST NVIDIA-Linux-x86-195.36.24-pkg0.run 24624947 RMD160 6082efce3191dc45897436b91b53106d7d3e78a3 SHA1 279709d2bdf958fd5935af3ba461e4eb585cb880 SHA256 8fd11993d841ba28877f03ccdc9ad28d763e6e8d1f0c2ce34062d62a4d192641 DIST NVIDIA-Linux-x86-195.36.31-pkg0.run 24647695 RMD160 b048a70174f88ba2869a8c8d0d8b6026f4368d71 SHA1 9c65277ea7cceec900967e15a04629daba06ef45 SHA256 08a2dafcea99f994e388084b669a6762bce73dd6c7564606e97a0946eef2abb8 DIST NVIDIA-Linux-x86-256.35.run 25084817 RMD160 0c1325a03fd98317b2285dc9f9b511991191d450 SHA1 7a72704c0fd70bf75126aa962b560bae893b5538 SHA256 8af6b6d6fc7244d87397e99be3e41de9f22032ac369e34af531facf1434cf662 +DIST NVIDIA-Linux-x86-256.44.run 25394009 RMD160 67406878dc8f38c0eb05edc2d17f34586d9b78b5 SHA1 177f62d251094cd6d6012f4251190c64b23c573e SHA256 b1de58b4bc9546aa010c078444a358ee7b398cf89d86b95867314fa357c839ce 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 @@ -45,6 +50,7 @@ DIST NVIDIA-Linux-x86_64-195.36.15-pkg2.run 42058835 RMD160 f38daaeca7d734cdc8b7 DIST NVIDIA-Linux-x86_64-195.36.24-pkg2.run 42078799 RMD160 a371775c086f8819c5924bb42a9f76fa8370435c SHA1 dc78d0c1bd71fb5f47d25432c6f038cea74807ef SHA256 385b2bac30198ca2927e3771fc1b9a90651cbc165f2b840299069bb5e17e5d6e DIST NVIDIA-Linux-x86_64-195.36.31-pkg2.run 42115060 RMD160 41c0fa6730afd9d4589790f524dd6df641bd6da9 SHA1 30c1c58c5ca79307b98e36c13f2d8614eb314e6c SHA256 5dc0a80261050450fad425fb8558791b6b54757c3b0093c371223fb1436f0d3d DIST NVIDIA-Linux-x86_64-256.35.run 42572777 RMD160 e9d56f4709a4135a28179f5dea761ea90307ceb1 SHA1 6ab9eeed3f56daadcc59df88e0549cdc3911191a SHA256 ef10ecddd8db11f0fa3c6e4727dc275eb0ca9d23a7b7d37a038d17d2a42acb2a +DIST NVIDIA-Linux-x86_64-256.44.run 42904565 RMD160 d19900e34e3b2246f83226e153d3af40dfb1682d SHA1 2774723bb0d236991725b81b1392aaeeb6f6910e SHA256 528aaed18b6b4ba79dbf4ae5c5ecda8350007d610d2c7c608eb646739cfeb500 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 @@ -58,9 +64,17 @@ EBUILD nvidia-drivers-195.36.15.ebuild 16153 RMD160 3c7e7708662b24eacdb357864e0f EBUILD nvidia-drivers-195.36.24.ebuild 16151 RMD160 f24b7c3606aa81d831b3b856f00c9e60039f2c9a SHA1 d26b0b23267b5308b2226a68ef649616d1d9656a SHA256 ba473f7ace82ed993193f93eb63f7de4ca34f6b96826831fbb0b933b4240b71a EBUILD nvidia-drivers-195.36.31.ebuild 16173 RMD160 65b0ac664379ab4d9852476b78a3209c657e86cd SHA1 52e6375fa79898ca7d24adeb9681c88b48f4e0f3 SHA256 784428879bf361f8180ae2df8a6061f050db452bfb7b478895bfda81823c980a EBUILD nvidia-drivers-256.35.ebuild 14974 RMD160 6c57b73ac722fb1d8a7dce51c2166437db9155b6 SHA1 05d99c83b36a9892299c3ab460450d7dd8864b54 SHA256 f1ec4007c04bb7a59d50b9e1222974ca73abaf42a591121d5c9d6033ffc557cc +EBUILD nvidia-drivers-256.44.ebuild 14978 RMD160 7f399e5c3a48665db6a91691f0bd646678965461 SHA1 dec52a8e1c4f4b90103a41d84fe4902042e278e6 SHA256 25a38f763cf2873c2cdcc0af83bb2a2b952a959124d4d880be10067dc477c42c EBUILD nvidia-drivers-71.86.11.ebuild 14145 RMD160 5e9e15878887260f913394366c23a757c1753158 SHA1 fd9dd2e9a722f9d433495b4c984499632f34d80d SHA256 38198faa3c4199850fa7ede7d0db0e8848557b795d0058fccbf91dbd8b62ae2a EBUILD nvidia-drivers-96.43.14.ebuild 15375 RMD160 6c2b2a669cea9e56661cffca5a1a81efb297a9ab SHA1 787733c9815b5a7ab0bc69db52f42e9eaaf76b0d SHA256 8582f40b5977e8e415e57fcc1dde7b9ba88bde5252871ccfb01c54ca373cd445 EBUILD nvidia-drivers-96.43.16.ebuild 15375 RMD160 7f5c11269019caa7a32416a1762404487a17b76a SHA1 a78162fc120650cde3fe7078a481c24bad50df4f SHA256 9260a5e3421b9b9f7a704531bb965d7bd317e552fc3a35140faf3838ae78621e EBUILD nvidia-drivers-96.43.18.ebuild 15377 RMD160 451d351f40a33cf0de85e8339e95e806d8a9645c SHA1 e2b8918681024c3968c46f6fdb81ef88f0417908 SHA256 f5a9bb7000cf859e58d6655d29f8a2c9b710c366b3445e71eee65b12b51837a3 -MISC ChangeLog 53330 RMD160 eab60dcbe35b056f338184e440ac6753739c9aff SHA1 d849d148aed767ac9c9c90c4c4549e36a2d4532e SHA256 0664c8fa86035c7c0b71bf52b4bb3671e776aa2f822e0b128b45bc2f5aebada3 +MISC ChangeLog 53468 RMD160 9be3baa2909af7419b520268c008b6b6cb1b9624 SHA1 e4d92d7e3fcf52c9f4c2b8bee59800a015924342 SHA256 29661453d9f2e5b181057e84484e014e93fa78843b4ee8af9a90c3092ac49c3a MISC metadata.xml 546 RMD160 91ee180beb1b4acd8742b4ede2a528413c27d904 SHA1 6cb54af78a52760767088a1817a6f6bff19f2e08 SHA256 2e76e319e9b7db64d581d065d396c0b3ee942253d7470a9ac75d8e9131edb4eb +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.16 (GNU/Linux) + +iEYEARECAAYFAkxZUPwACgkQchej4aZK9/fNLgCfYfei/wIZXmVVKgOkv4y71IIk +cAoAnRGs7MmO0VSh8yA6prS1oa+9F/cC +=3MBW +-----END PGP SIGNATURE----- diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-256.44.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-256.44.ebuild new file mode 100644 index 000000000000..3266ecfd91ff --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-256.44.ebuild @@ -0,0 +1,489 @@ +# 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-256.44.ebuild,v 1.1 2010/08/04 11:37:15 spock 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? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run ) + amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) + x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${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.8.99 + kernel_linux? ( >=sys-libs/glibc-2.6.1 ) + multilib? ( app-emulation/emul-linux-x86-opengl ) + >=app-admin/eselect-opengl-1.0.9" +DEPEND="${COMMON} + kernel_linux? ( virtual/linux-sources )" +RDEPEND="${COMMON} + x11-libs/libXvMC + kernel_linux? ( virtual/modutils ) + acpi? ( sys-power/acpid )" +PDEPEND=">=x11-libs/libvdpau-0.3-r1 + gtk? ( media-video/nvidia-settings )" + +QA_TEXTRELS_x86="usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib/xorg/modules/drivers/nvidia_drv.so + usr/lib/libcuda.so.${PV} + usr/lib/libnvidia-cfg.so.${PV} + usr/lib/libnvidia-compiler.so.${PV} + usr/lib/libnvidia-glcore.so.${PV} + usr/lib/libvdpau_nvidia.so.${PV} + usr/lib/libOpenCL.so.1.0.0 + usr/lib/libnvidia-compiler.so.${PV}" + +QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko + usr/lib/opengl/nvidia/lib/libGL.so.1 + usr/lib/libnvidia-cfg.so.1 + usr/lib/opengl/nvidia/extensions/libglx.so.1 + usr/lib/xorg/modules/drivers/nvidia_drv.so" + +QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/libcuda.so.${PV} + usr/lib32/libvdpau_nvidia.so.${PV} + usr/lib32/libOpenCL.so.1.0.0 + usr/lib32/libnvidia-compiler.so.${PV} + usr/lib32/libnvidia-glcore.so.${PV}" + +QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib/libXvMCNVIDIA.a:NVXVMC.o + usr/lib/libnvidia-compiler.so.${PV}" + +QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/libcuda.so.${PV} + usr/lib32/libnvidia-compiler.so.${PV} + usr/lib32/libnvidia-glcore.so.${PV} + usr/lib32/libvdpau_nvidia.so.${PV} + usr/lib32/libOpenCL.so.1.0.0 + usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib64/libcuda.so.${PV} + usr/lib64/libnvidia-compiler.so.${PV} + usr/lib64/libXvMCNVIDIA.a:NVXVMC.o + usr/lib64/libnvidia-cfg.so.${PV} + usr/lib64/libnvidia-glcore.so.${PV} + usr/lib64/libvdpau_nvidia.so.${PV} + usr/lib64/libOpenCL.so.1.0.0 + usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib64/xorg/modules/drivers/nvidia_drv.so + usr/bin/nvidia-smi + usr/bin/nvidia-xconfig" + +QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib/libXvMCNVIDIA.a + usr/lib64/libXvMCNVIDIA.so.${PV}" + +QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/libnvidia-glcore.so.${PV} + usr/lib32/libvdpau_nvidia.so.${PV} + usr/lib64/libnvidia-glcore.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV}" + +QA_SONAME_x86="usr/lib/libnvidia-compiler.so.${PV}" + +QA_SONAME_amd64="usr/lib64/libnvidia-compiler.so.${PV} + usr/lib32/libnvidia-compiler.so.${PV}" + +QA_DT_HASH_amd64="usr/lib32/libcuda.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib32/libvdpau_nvidia.so.${PV} + usr/lib32/libOpenCL.so.1.0.0 + usr/lib32/libnvidia-compiler.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib64/libcuda.so.${PV} + usr/lib64/libnvidia-cfg.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib64/xorg/modules/drivers/nvidia_drv.so + usr/lib64/libvdpau_nvidia.so.${PV} + usr/lib64/libOpenCL.so.1.0.0 + usr/lib64/libnvidia-compiler.so.${PV} + usr/bin/nvidia-smi + usr/bin/nvidia-xconfig" + +QA_DT_HASH_x86="usr/lib/libcuda.so.${PV} + usr/lib/libnvidia-cfg.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so.${PV} + usr/lib/xorg/modules/drivers/nvidia_drv.so + usr/lib/libXvMCNVIDIA.so.${PV} + usr/lib/libvdpau_nvidia.so.${PV} + usr/lib/libOpenCL.so.1.0.0 + usr/lib/libnvidia-compiler.so.${PV} + usr/bin/nvidia-smi + usr/bin/nvidia-xconfig" + +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 +} + +lockdep_check() { + if linux_chkconfig_present LOCKDEP; then + eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." + eerror "Unfortunately, this option exports the symbol 'lockdep_init_map' as GPL-only" + eerror "which will prevent ${P} from compiling." + eerror "Please make sure the following options have been unset:" + eerror " Kernel hacking --->" + eerror " [ ] Lock debugging: detect incorrect freeing of live locks" + eerror " [ ] Lock debugging: prove locking correctness" + eerror " [ ] Lock usage statistics" + eerror "in 'menuconfig'" + die "LOCKDEP enabled" + 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}/kernel)" + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \ + SYSOUT=${KV_OUT_DIR} HOST_CC=$(tc-getBUILD_CC)" + mtrr_check + lockdep_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_LIB="${S}/obj" + NV_SRC="${S}/src" + NV_MAN="${S}/x11/man" + NV_X11="${S}/obj" + NV_X11_DRV="${NV_X11}" + NV_X11_EXT="${NV_X11}" + NV_SOVER=1 + elif use kernel_linux; then + NV_DOC="${S}" + NV_EXEC="${S}" + NV_LIB="${S}" + NV_SRC="${S}/kernel" + NV_MAN="${S}" + NV_X11="${S}" + NV_X11_DRV="${NV_X11}" + NV_X11_EXT="${NV_X11}" + NV_SOVER=${PV} + 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 "${S}" + unpack_makeself + else + unpack ${A} + fi +} + +src_prepare() { + # Please add a brief description for every added patch + 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 && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.* + + # Add support for the 'x86' unified kernel arch in conftest.sh + epatch "${FILESDIR}"/256.35-unified-arch.patch + + # 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() { + 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-169.07" ] || 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 + + # NVIDIA kernel <-> userspace driver config lib + dolib.so ${NV_LIB}/libnvidia-cfg.so.${NV_SOVER} || \ + die "failed to install libnvidia-cfg" + + # Xorg DDX driver + insinto /usr/$(get_libdir)/xorg/modules/drivers + doins ${NV_X11_DRV}/nvidia_drv.so || die "failed to install nvidia_drv.so" + + # Xorg GLX driver + insinto /usr/$(get_libdir)/opengl/nvidia/extensions + doins ${NV_X11_EXT}/libglx.so.${NV_SOVER} || \ + die "failed to install libglx.so" + dosym /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so.${NV_SOVER} \ + /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so || \ + die "failed to create libglx.so symlink" + + # XvMC driver + dolib.a ${NV_X11}/libXvMCNVIDIA.a || \ + die "failed to install libXvMCNVIDIA.so" + dolib.so ${NV_X11}/libXvMCNVIDIA.so.${NV_SOVER} || \ + die "failed to install libXvMCNVIDIA.so" + dosym libXvMCNVIDIA.so.${NV_SOVER} /usr/$(get_libdir)/libXvMCNVIDIA.so || \ + die "failed to create libXvMCNVIDIA.so symlink" + + # CUDA and OpenCL headers + if use kernel_linux; then + dodir /usr/include/cuda + insinto /usr/include/cuda + doins cuda*.h || die "failed to install cuda headers" + + doins cl*.h || die "failed to install OpenCL headers" + + # OpenCL ICD for NVIDIA + dodir /etc/OpenCL/vendors + insinto /etc/OpenCL/vendors + doins nvidia.icd + fi + + # Documentation + dohtml ${NV_DOC}/html/* + if use x86-fbsd; then + dodoc "${NV_DOC}/README" + doman "${NV_MAN}/nvidia-xconfig.1" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + doman "${NV_MAN}/nvidia-smi.1.gz" + doman "${NV_MAN}/nvidia-xconfig.1.gz" + fi + + # Helper Apps + dobin ${NV_EXEC}/nvidia-xconfig || die + dobin ${NV_EXEC}/nvidia-bug-report.sh || die + if use kernel_linux; then + dobin ${NV_EXEC}/nvidia-smi || 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 + else + src_install-libs + fi + + is_final_abi || die "failed to iterate through all ABIs" +} + +# 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) + + doexe $2.$3 || die "failed to install $2" + dosym ${libname}.$3 $1/${libname} || die "failed to symlink $2" + [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1 +} + +src_install-libs() { + local inslibdir=$(get_libdir) + local NV_ROOT="/usr/${inslibdir}/opengl/nvidia" + local libdir= sover= + + if use kernel_linux; then + if has_multilib_profile && [[ ${ABI} == "x86" ]] ; then + libdir=32 + else + libdir=. + fi + sover=${PV} + else + libdir=obj + # on FreeBSD it has just .1 suffix + sover=1 + fi + + # The GLX libraries + donvidia ${NV_ROOT}/lib ${libdir}/libGL.so ${sover} + donvidia /usr/${inslibdir} ${libdir}/libnvidia-glcore.so ${sover} + if use x86-fbsd; then + donvidia ${NV_ROOT}/lib ${libdir}/libnvidia-tls.so ${sover} + else + donvidia ${NV_ROOT}/lib ${libdir}/tls/libnvidia-tls.so ${sover} + fi + + donvidia /usr/${inslibdir} ${libdir}/libcuda.so ${sover} + donvidia /usr/${inslibdir} ${libdir}/libvdpau_nvidia.so ${sover} + donvidia /usr/${inslibdir} ${libdir}/libnvidia-compiler.so ${sover} + donvidia /usr/${inslibdir} ${libdir}/libOpenCL.so 1.0.0 + dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so +} + +pkg_preinst() { + if use kernel_linux; then + linux-mod_pkg_postinst + fi + + # 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 +} + +pkg_postrm() { + if use kernel_linux; then + linux-mod_pkg_postrm + fi + eselect opengl set --use-old xorg-x11 +} |