bump available legacy drivers. Added support for xorg-server-1.8 in nvidia-drivers...
authorDoug Goldstein <cardoe@gentoo.org>
Fri, 16 Jul 2010 20:28:53 +0000 (20:28 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Fri, 16 Jul 2010 20:28:53 +0000 (20:28 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

x11-drivers/nvidia-drivers/ChangeLog
x11-drivers/nvidia-drivers/Manifest
x11-drivers/nvidia-drivers/nvidia-drivers-173.14.27.ebuild [new file with mode: 0644]
x11-drivers/nvidia-drivers/nvidia-drivers-96.43.18.ebuild [new file with mode: 0644]

index d1a5e602ed506b016c3391023651569adeb1fadb..03f30ad847ac7d08c26849c4ceba4f2c85d9c743 100644 (file)
@@ -1,6 +1,14 @@
 # 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.237 2010/07/15 12:14:31 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.238 2010/07/16 20:28:53 cardoe Exp $
+
+*nvidia-drivers-173.14.27 (16 Jul 2010)
+*nvidia-drivers-96.43.18 (16 Jul 2010)
+
+  16 Jul 2010; Doug Goldstein <cardoe@gentoo.org>
+  +nvidia-drivers-96.43.18.ebuild, +nvidia-drivers-173.14.27.ebuild:
+  bump available legacy drivers. Added support for xorg-server-1.8 in
+  nvidia-drivers-173.14.27
 
   15 Jul 2010; Markos Chandras <hwoarang@gentoo.org>
   nvidia-drivers-96.43.16.ebuild:
index f93e5c3126b64d2ef5699187a27c034e1715779c..8784248816dd62224247a79d3bf54a58f2c08daa 100644 (file)
@@ -13,6 +13,7 @@ AUX nvidia-169.07 639 RMD160 8baddb6fd1bf7f0e2688870a78e8ace051d62e3f SHA1 b3048
 AUX nvidia-drivers-190.53-2.6.33.patch 2893 RMD160 29f6cf29909828f8d22504dfcb43b23aeeff78dd SHA1 412f8a2b208e8af886891985fcabf8623c9943c3 SHA256 68f5cdf4489fb6bc480319e4bda6e6481beb189cf37920b939b8f7bbf77aed1f
 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-173.14.27.tar.gz 15901569 RMD160 f5ae7ce218e067c5a4f9b41010affd82b6fcc883 SHA1 9d75ccd905e568639667f3a4cae6eed3e5800ff4 SHA256 99c821a03cf903e809c348f512eb4ad18b6433b1b42d3353f4e962ef7b5c0ae1
 DIST NVIDIA-FreeBSD-x86-185.18.36.tar.gz 19245550 RMD160 9fc751dca64c96fa3c3d54bde581a2a4fe37194b SHA1 7b982e4f43b754987e3654e93fd7108488658d4b SHA256 890b9543d3c81bccc72d60c653647a719c9037f8fc7a88144a18b2a012fbd4a7
 DIST NVIDIA-FreeBSD-x86-190.53.tar.gz 20134738 RMD160 3ee6e5dafba9c8a12102c60af11b89311b0aa206 SHA1 73b2227f94be32257506b573213d39aaf80617da SHA256 583c5726ca6f35f34aa68a2c5a1ef609dc808057aa88c3c000702d82ca60ef29
 DIST NVIDIA-FreeBSD-x86-195.36.15.tar.gz 14539561 RMD160 1b340f920d76ab9060ae910130991aac1ecb535b SHA1 a6d93093c18ef60f8ffcc784991da469df0d43e2 SHA256 c5a762fdd4914429c2205259072f2df53c1be6db44bea4dcc336200e4227e33a
@@ -21,8 +22,10 @@ DIST NVIDIA-FreeBSD-x86-195.36.31.tar.gz 14561336 RMD160 0ae160f48b85b24ace9f00d
 DIST NVIDIA-FreeBSD-x86-256.35.tar.gz 26047458 RMD160 5187c8852efb832a25d8fb41c6a6fb744b757b17 SHA1 9cdf494df2f050068e636bfe3ce041c1fa9df9ef SHA256 897c711acdca188da26868aec510c732d34f415ae621c35e5556ed8de493f26e
 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
 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-173.14.27-pkg0.run 11446219 RMD160 0cfe74af74ecda273fe06ef9120d838e66589c38 SHA1 c41f4c620536a72c76e398ce2907e707ad9cbea0 SHA256 cb4ede9850cafec531855ac9ecdec18d14396ff07ebc1daadcc4a2a58ffe8322
 DIST NVIDIA-Linux-x86-185.18.36-pkg0.run 14146513 RMD160 ec8f2a4f44bf89304f6ab53fd3fe887463967260 SHA1 1565639460c2438753251a89b9beb1a5101816ec SHA256 985e49847ed2f8bc50fe379780e182afea26d052bd1189320ce226acd03d72c4
 DIST NVIDIA-Linux-x86-190.53-pkg0.run 14720222 RMD160 431efebaaf4d7a677df9bb3618d81210cd9e54eb SHA1 d8865bcaeb7f4c8c470828a3ed7dffb1bbc7a4eb SHA256 e9a985d485bbba11bf130a393a426f0eacd939e94705660d2b39ee8f1a25f57a
 DIST NVIDIA-Linux-x86-195.36.15-pkg0.run 24602393 RMD160 675f3c44854a41c46ece170dbc301c655d9b5bcb SHA1 347462fb17b63cdbb2d0a80f20e5051c89675c7a SHA256 ad2047cba2a2c446671223bf56897be537d4c106f58becc4e1f1ce39ab8c4c72
@@ -32,8 +35,10 @@ DIST NVIDIA-Linux-x86-256.35.run 25084817 RMD160 0c1325a03fd98317b2285dc9f9b5119
 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-96.43.18-pkg0.run 8443640 RMD160 b59b60709c74f466fb33ac0f260d3bd1772c66ae SHA1 392632fa8c6414e28a138caf1bb130eb28b486bc SHA256 dcab1421fbfb3d9557e457a0e02feb44b971530206b5ff7516543e5977c9542a
 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-173.14.27-pkg2.run 16855116 RMD160 834022bfb90e53c42f04c240ef7f72a6abd65d40 SHA1 2fc29a8776f31542249146f2fd9112aacfacf101 SHA256 c096278701fc588e76eeb399b16d223a04b581af4a61c20cb3277a2b5f73ddf2
 DIST NVIDIA-Linux-x86_64-185.18.36-pkg2.run 22245788 RMD160 0ffbc35dd13d2ccff87f20e0d6a8b8622c497ec7 SHA1 0ec535765bf07dc7ff47bbede831a89617105ac1 SHA256 c9b413910a26cc55829e018f71e12981fa4140b5e0f7a81bb5e1a1b3d353ef8b
 DIST NVIDIA-Linux-x86_64-190.53-pkg2.run 23111088 RMD160 7753b1a624a78e8c96ed7442157b8bfbdf1066bd SHA1 a80402aaaccae2d9ea5a974d837885e0d717ef11 SHA256 9e3d74e349767bbd1a87c19e082efe3a378e1bc2273b333ee8b1cc00254557fa
 DIST NVIDIA-Linux-x86_64-195.36.15-pkg2.run 42058835 RMD160 f38daaeca7d734cdc8b7077e7b940061aec8751c SHA1 ba7d3da7e18a1f82131b67d0419c8809af8dd55f SHA256 01e3f50f422a91432085560088b1958596e7df28c486d3b74a3782c013e11be8
@@ -43,8 +48,10 @@ DIST NVIDIA-Linux-x86_64-256.35.run 42572777 RMD160 e9d56f4709a4135a28179f5dea76
 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
+DIST NVIDIA-Linux-x86_64-96.43.18-pkg2.run 12338886 RMD160 38cf91827e3011a35b00c064747bf98e965097a1 SHA1 b7811f14d86d4ed00c780351765580ec3d353968 SHA256 4644b1b3a78e651af079f85c8cf55b3666cca9ae466a43135d5857be31fa1ac8
 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-173.14.27.ebuild 15357 RMD160 932863af73cb560b6c9e953a118ce593f2248220 SHA1 32f63960d0bddd155f240d88fb4b712d82cd3633 SHA256 0f65c55c3d4f6207a0e927e7ea0990198f5f313e49edccd8049f6ba765a2e78e
 EBUILD nvidia-drivers-185.18.36-r1.ebuild 16264 RMD160 8f76a7545d9ec9d70c13ae618a1b6d12d35c9cb2 SHA1 7c6d3b9cbc88134e03cfec9275dc4dfe47043eb0 SHA256 4233c2c33d25bd5b520829a8e30515ceef975c2c7c5828049c4f94cf9adfa2b0
 EBUILD nvidia-drivers-190.53-r1.ebuild 15479 RMD160 7f761296c196d4e4775dc67662d1845c81439e1a SHA1 73bfc73a92a7b053917359507276128bfc8efceb SHA256 2ac46e8e0ed83858b17ca93a2e9bae382b5c219e7c0179359e7077c90287841e
 EBUILD nvidia-drivers-195.36.15.ebuild 16149 RMD160 0e82b294567c5f16628f4152199b654e29d97fdf SHA1 e4ce7197812e1c0cf0ae80b07a62cce5c44091f3 SHA256 4692121483572b555b504de360c484845b4d3f3217219783d9046bb841474aab
@@ -54,5 +61,6 @@ EBUILD nvidia-drivers-256.35.ebuild 14951 RMD160 a69ca7f5f018403872b2d874d5fbabe
 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 15373 RMD160 4fb04e74e17d09cb9e33d700722ecdc762bdeda9 SHA1 b7b1daf3a65eedf7173d181e7e9ff28e676eb20f SHA256 6fa391b1d74e39b8e930c149636184ef340500643278e969d0487adbbd3a028b
-MISC ChangeLog 51907 RMD160 902a457e02fd8e2696be1a9e1432ae7f68d558bc SHA1 09678e704eb540551977a187ba747e94579653ae SHA256 e15bd2a1b2222f911530d316987a7b269a2e94134b47203ce7362a789f9072d0
+EBUILD nvidia-drivers-96.43.18.ebuild 15373 RMD160 a601ca0efb002b0b0efd34e5924358cf619fdb63 SHA1 6249f569cc1b9b15957322d96390fd3c3f71b6cc SHA256 3cc773faf5e35fda210d6a10062f66e038403f5e1780be99a20e947365fa0c29
+MISC ChangeLog 52202 RMD160 4745358578296db83dbdf7ba0717fc278086134e SHA1 eda132d07257f0f39eca26029c368f9717bf7964 SHA256 d03d87dded1422fff2d9f28aa450a5cb15d68acd49bf09f7a1811a953647d715
 MISC metadata.xml 546 RMD160 91ee180beb1b4acd8742b4ede2a528413c27d904 SHA1 6cb54af78a52760767088a1817a6f6bff19f2e08 SHA256 2e76e319e9b7db64d581d065d396c0b3ee942253d7470a9ac75d8e9131edb4eb
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.27.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.27.ebuild
new file mode 100644 (file)
index 0000000..161a358
--- /dev/null
@@ -0,0 +1,498 @@
+# 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.27.ebuild,v 1.1 2010/07/16 20:28:53 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? ( 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="<x11-base/xorg-server-1.8.99
+       kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+       multilib? ( app-emulation/emul-linux-x86-xlibs )
+       >=app-admin/eselect-opengl-1.0.9"
+DEPEND="${COMMON}
+       kernel_linux? ( virtual/linux-sources )"
+RDEPEND="${COMMON}
+       kernel_linux? ( virtual/modutils )
+       acpi? ( sys-power/acpid )"
+PDEPEND="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/lib/libGLcore.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/libvdpau_nvidia.so.${PV}
+       usr/lib/libXvMCNVIDIA.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/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/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/libcuda.so.${PV}
+       usr/lib32/libvdpau_nvidia.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.${PV}
+       usr/lib/xorg/modules/drivers/nvidia_drv.so
+       usr/lib/libXvMCNVIDIA.a:NVXVMC.o"
+
+QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/libnvcompiler.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/libXvMCNVIDIA.a:NVXVMC.o
+       usr/lib64/libnvidia-cfg.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.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/libGLcore.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+       usr/lib/libXvMCNVIDIA.a"
+
+QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}"
+
+QA_SONAME_amd64="usr/lib64/libnvcompiler.so.${PV}"
+
+QA_DT_HASH_amd64="usr/lib32/libcuda.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib32/libvdpau_nvidia.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/libcuda.so.${PV}
+       usr/lib64/libnvidia-cfg.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.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/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/libGLcore.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/bin/nvidia-smi
+       usr/bin/nvidia-xconfig"
+
+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
+}
+
+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}/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
+               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}/usr/share/doc"
+               NV_EXEC="${S}/usr/bin"
+               NV_LIB="${S}/usr/lib"
+               NV_SRC="${S}/usr/src/nv"
+               NV_MAN="${S}/usr/share/man/man1"
+               NV_X11="${S}/usr/X11R6/lib"
+               NV_X11_DRV="${NV_X11}/modules/drivers"
+               NV_X11_EXT="${NV_X11}/modules/extensions"
+               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
+               mkdir "${S}"
+               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.*
+
+               # 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 headers (driver to come)
+       if use kernel_linux; then
+               dodir /usr/include/cuda
+               insinto /usr/include/cuda
+               doins usr/include/cuda/*.h || die "failed to install cuda headers"
+       fi
+
+       # OpenCL headers (driver to come)
+       if [[ -d ${S}/usr/include/CL ]]; then
+               dodir /usr/include/CL
+               insinto /usr/include/CL
+               doins usr/include/CL/*.h || die "failed to install OpenCL headers"
+       fi
+
+       # Documentation
+       dodoc ${NV_DOC}/XF86Config.sample
+       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=usr/lib32
+               else
+                       libdir=usr/lib
+               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 ${NV_ROOT}/lib ${libdir}/libGLcore.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
+
+       #cuda
+       if [[ -f ${libdir}/libcuda.so.${sover} ]]; then
+               dolib.so ${libdir}/libcuda.so.${sover}
+               [[ "${sover}" != "1" ]] && dosym libcuda.so.${sover} /usr/${inslibdir}/libcuda.so.1
+               dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
+       fi
+
+       #vdpau
+       if [[ -f ${libdir}/libvdpau_nvidia.so.${sover} ]]; then
+               dolib.so ${libdir}/libvdpau_nvidia.so.${sover}
+               dosym libvdpau_nvidia.so.${sover} /usr/${inslibdir}/libvdpau_nvidia.so
+       fi
+
+       # OpenCL
+       # NOTE: This isn't currently available in the publicly released drivers.
+       if [[ -f ${libdir}/libOpenCL.so.1.0.0 ]]; then
+
+               dolib.so ${libdir}/libnvcompiler.so.${sover}
+               [[ "${sover}" != "1" ]] && dosym libnvcompiler.so.${sover} /usr/${inslibdir}/libnvcompiler.so.1
+               dosym libnvcompiler.so.1 /usr/${inslibdir}/libnvcompiler.so
+
+               dolib.so ${libdir}/libOpenCL.so.1.0.0
+               dosym libOpenCL.so.1.0.0 /usr/${inslibdir}/libOpenCL.so.1
+               dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so
+       fi
+}
+
+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
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-96.43.18.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-96.43.18.ebuild
new file mode 100644 (file)
index 0000000..3864888
--- /dev/null
@@ -0,0 +1,498 @@
+# 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-96.43.18.ebuild,v 1.1 2010/07/16 20:28:53 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? ( 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="<x11-base/xorg-server-1.7.99
+       kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+       multilib? ( app-emulation/emul-linux-x86-xlibs )
+       >=app-admin/eselect-opengl-1.0.9"
+DEPEND="${COMMON}
+       kernel_linux? ( virtual/linux-sources )"
+RDEPEND="${COMMON}
+       kernel_linux? ( virtual/modutils )
+       acpi? ( sys-power/acpid )"
+PDEPEND="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/lib/libGLcore.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/libvdpau_nvidia.so.${PV}
+       usr/lib/libXvMCNVIDIA.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/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/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/libcuda.so.${PV}
+       usr/lib32/libvdpau_nvidia.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.${PV}
+       usr/lib/xorg/modules/drivers/nvidia_drv.so
+       usr/lib/libXvMCNVIDIA.a:NVXVMC.o"
+
+QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/libnvcompiler.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/libXvMCNVIDIA.a:NVXVMC.o
+       usr/lib64/libnvidia-cfg.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.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/libGLcore.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+       usr/lib/libXvMCNVIDIA.a"
+
+QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}"
+
+QA_SONAME_amd64="usr/lib64/libnvcompiler.so.${PV}"
+
+QA_DT_HASH_amd64="usr/lib32/libcuda.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib32/libvdpau_nvidia.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/libcuda.so.${PV}
+       usr/lib64/libnvidia-cfg.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.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/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/libGLcore.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/bin/nvidia-smi
+       usr/bin/nvidia-xconfig"
+
+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
+}
+
+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}/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
+               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}/usr/share/doc"
+               NV_EXEC="${S}/usr/bin"
+               NV_LIB="${S}/usr/lib"
+               NV_SRC="${S}/usr/src/nv"
+               NV_MAN="${S}/usr/share/man/man1"
+               NV_X11="${S}/usr/X11R6/lib"
+               NV_X11_DRV="${NV_X11}/modules/drivers"
+               NV_X11_EXT="${NV_X11}/modules/extensions"
+               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
+               mkdir "${S}"
+               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.*
+
+               # 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 headers (driver to come)
+       if [[ -d ${S}/usr/include/cuda ]]; then
+               dodir /usr/include/cuda
+               insinto /usr/include/cuda
+               doins usr/include/cuda/*.h || die "failed to install cuda headers"
+       fi
+
+       # OpenCL headers (driver to come)
+       if [[ -d ${S}/usr/include/CL ]]; then
+               dodir /usr/include/CL
+               insinto /usr/include/CL
+               doins usr/include/CL/*.h || die "failed to install OpenCL headers"
+       fi
+
+       # Documentation
+       dodoc ${NV_DOC}/XF86Config.sample
+       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=usr/lib32
+               else
+                       libdir=usr/lib
+               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 ${NV_ROOT}/lib ${libdir}/libGLcore.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
+
+       #cuda
+       if [[ -f ${libdir}/libcuda.so.${sover} ]]; then
+               dolib.so ${libdir}/libcuda.so.${sover}
+               [[ "${sover}" != "1" ]] && dosym libcuda.so.${sover} /usr/${inslibdir}/libcuda.so.1
+               dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
+       fi
+
+       #vdpau
+       if [[ -f ${libdir}/libvdpau_nvidia.so.${sover} ]]; then
+               dolib.so ${libdir}/libvdpau_nvidia.so.${sover}
+               dosym libvdpau_nvidia.so.${sover} /usr/${inslibdir}/libvdpau_nvidia.so
+       fi
+
+       # OpenCL
+       # NOTE: This isn't currently available in the publicly released drivers.
+       if [[ -f ${libdir}/libOpenCL.so.1.0.0 ]]; then
+
+               dolib.so ${libdir}/libnvcompiler.so.${sover}
+               [[ "${sover}" != "1" ]] && dosym libnvcompiler.so.${sover} /usr/${inslibdir}/libnvcompiler.so.1
+               dosym libnvcompiler.so.1 /usr/${inslibdir}/libnvcompiler.so
+
+               dolib.so ${libdir}/libOpenCL.so.1.0.0
+               dosym libOpenCL.so.1.0.0 /usr/${inslibdir}/libOpenCL.so.1
+               dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so
+       fi
+}
+
+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
+}