Add the extremely buggy 275.28 version which claims to have xorg-server-1.11 support...
authorDoug Goldstein <cardoe@gentoo.org>
Wed, 14 Sep 2011 15:59:10 +0000 (15:59 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Wed, 14 Sep 2011 15:59:10 +0000 (15:59 +0000)
Package-Manager: portage-2.1.10.16/cvs/Linux x86_64

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

index 54a36b4691a1e8f043a7fde2997b39f376675dff..ee0c213e70609406149a95e0c1f1996adcd11da2 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for x11-drivers/nvidia-drivers
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.297 2011/09/13 15:22:54 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.298 2011/09/14 15:59:10 cardoe Exp $
+
+*nvidia-drivers-275.28 (14 Sep 2011)
+
+  14 Sep 2011; Doug Goldstein <cardoe@gentoo.org>
+  +nvidia-drivers-275.28.ebuild:
+  Add the extremely buggy 275.28 version which claims to have xorg-server-1.11
+  support to statisfy users desire for the latest and greatest, even if its
+  broken.
 
 *nvidia-drivers-285.03 (13 Sep 2011)
 *nvidia-drivers-280.13 (13 Sep 2011)
index b46bb8b9cdfd8f2b00fb0917567bf8c9ffb0f8b6..452a2c0e57ff52c33ca040ea88301f98f47cafea 100644 (file)
@@ -17,6 +17,7 @@ DIST NVIDIA-FreeBSD-x86-173.14.30.tar.gz 17992540 RMD160 9f064bb71e2cb65ed386c7e
 DIST NVIDIA-FreeBSD-x86-173.14.31.tar.gz 17991684 RMD160 b7171b05847400a1f7a008bc9b46ea061a9f765d SHA1 d7603732598990c3c22e39643e7021da5a57a57c SHA256 98699bc8dc1dad86cebc2ed067b4fc5cd37b8540e897bb218f38ac80c4b4d875
 DIST NVIDIA-FreeBSD-x86-270.41.19.tar.gz 28488689 RMD160 ec517f435d4b265f4236d680572a43d823be8b33 SHA1 264b8aaa5c9b71b5ea37d4367bae12464bb931e7 SHA256 352b3a666d7b799082896e82da6228eb61158dc1b9722a4f63ffe474b27b4750
 DIST NVIDIA-FreeBSD-x86-275.09.07.tar.gz 30304023 RMD160 aaa3ad3339fa1450612d8f7995f4407a976f1cc9 SHA1 8ff6558a019aa28bb894db1275a9a96490cd4fd4 SHA256 d5d119c2f066539da0f2d1926193f6bc2bfbf2a1dcdff77322a23b42c5df91d9
+DIST NVIDIA-FreeBSD-x86-275.28.tar.gz 30478616 RMD160 123a2e8cb3b783ddd6fa055d04e9a791ca90c165 SHA1 141ea0ad39c7d1ed8f768b270015c9e20cb092ee SHA256 5c11f7c1792476e8ac9b2e3a6f0bac4b9eff206972f0f4c1566fbcc4c7da918e
 DIST NVIDIA-FreeBSD-x86-280.13.tar.gz 29589886 RMD160 b5bc807f719835fff32d0795e5170835a88559fa SHA1 fb09c63d4ad9acd51d9c1a46e422463290323088 SHA256 2ad1882467a2d8a0b65dfa15e710e4938786e51f688e1d02d4d3343868b9239e
 DIST NVIDIA-FreeBSD-x86-285.03.tar.gz 30736992 RMD160 96e35fb251a65b27d8aa358bdc9d814e8fd90f72 SHA1 cfc4ce1b864580dc7221a479ba48fb798af4551d SHA256 872de331825e8d0326785a5559e49cd34b5c902be8a2f43cc4c342511807e30b
 DIST NVIDIA-FreeBSD-x86-96.43.19.tar.gz 13352481 RMD160 376311eb6708f4b7f20b6326bb88d9a33e7b3d37 SHA1 72555f3da8a796e491eaa67192334ccefcdd2256 SHA256 b5dce181cc654a729ba06dd528a180d14a792b0328fcfbf86bb0f819285c0dd5
@@ -25,6 +26,7 @@ DIST NVIDIA-Linux-x86-173.14.30-pkg0.run 13407793 RMD160 8c0acf5738db9aeac079a12
 DIST NVIDIA-Linux-x86-173.14.31-pkg0.run 13407481 RMD160 87f5bfb9aee83c3edb41894df540840a9eec343d SHA1 470e19fdfa75f18522745de285e256808fe14d48 SHA256 e855a62f16a9d0eff1bf470a8fcedd48cd1b718e969ad5ebe89a557d039d1924
 DIST NVIDIA-Linux-x86-270.41.19.run 29652783 RMD160 cf60d4ec6d8134285f97f8a76ebed7dd7e9a3a97 SHA1 5b5eb7b2650059b17537ed4b9d646a6dbd46d6a8 SHA256 a8c4aee97e3cb5bf9cd589b6245eeb633d20bae5420646384d48d568230994b1
 DIST NVIDIA-Linux-x86-275.09.07.run 30930605 RMD160 3543dd353b488f501899ce37ea034eb0dd1a98c7 SHA1 068b007bb08603689ada3ebb342dc87849f50b7c SHA256 27d1b2073c11bd56e423ed80bd22773f1f282c39ab3b76773144cfa680a1ff0c
+DIST NVIDIA-Linux-x86-275.28.run 31102995 RMD160 d70becaa6fe2b58948519fc65c890edaa4559a70 SHA1 d747febac267a7dd39832af3dc579209626b9a74 SHA256 ba4ff7a7a3a5d4242621f9a104f64d4ab573619fcad7adf4657f82ab417553ea
 DIST NVIDIA-Linux-x86-280.13.run 32704856 RMD160 2b438729856e847ef3cca68fc682490b362918b7 SHA1 27d4228da677576b7c2b178cb0a3ce540444e6a2 SHA256 b222afe19c6310f1aa2a2574f27fa9e2b877738177daa60162bb5705758bac9b
 DIST NVIDIA-Linux-x86-285.03.run 33556616 RMD160 0b44943a1eea4c44ccf252ad92814665355deb95 SHA1 2487321c609679980bd63ce91a058d29d7175c9b SHA256 4cdc31f0edfa3e8cc67fb3d0388d908fb22f9505a1066ce1be79820cbc93b4f8
 DIST NVIDIA-Linux-x86-96.43.19-pkg0.run 9721273 RMD160 ca40f0572e36479bfdd4d921be45da7055692762 SHA1 dc5f0d5b068756991a7d7e50e17bfcf09684702f SHA256 e25810e809ea56ab33ebb3e79e885eb19784dcce2bb0102c0cb5daa372aaf1c8
@@ -33,6 +35,7 @@ DIST NVIDIA-Linux-x86_64-173.14.30-pkg2.run 18967055 RMD160 167137380c8f75530498
 DIST NVIDIA-Linux-x86_64-173.14.31-pkg2.run 18967067 RMD160 729f5e12e4c7ed26f9445ec2981aec3b9f5f83e5 SHA1 155f1951897a274a0c693912015e049d0d4cbec1 SHA256 c56cfe43c4fa95102d099e4f1c4e75e58b57d73b4b36a858d54a2a339aad56d9
 DIST NVIDIA-Linux-x86_64-270.41.19.run 49632218 RMD160 cc0bed4c9196d1ae53a926237a4c1029ce22427a SHA1 ad325e32e51d0f286f084c9b06298ec3aa2864d5 SHA256 4d7131f07e739abc787d69696ca4ac52df2fc0b338405ffd474288c2a4a1e7a6
 DIST NVIDIA-Linux-x86_64-275.09.07.run 51646025 RMD160 ea9bd2a3e960234a9a9e69a6ada31d2bb5939eff SHA1 b40418b7cd17694873007c547dac36b7078f76ab SHA256 747c09b0a0a8d60e1b5fee49fb1ea07ee5812f8e85a87b2403011af6de58164d
+DIST NVIDIA-Linux-x86_64-275.28.run 51855215 RMD160 9f4d65c0a88bac60dd2389a53ae95d8b4b9365da SHA1 957a5fd0f4d43ba8cee72d765e9076c43fbc0be1 SHA256 fc1dfded42d21b08f40fa7f50589c6c0c4922cc0d30af71bf721ab8682b00648
 DIST NVIDIA-Linux-x86_64-280.13.run 55011572 RMD160 6b0e82f57282ea689895a6a3b0501f847133ed6c SHA1 5f78984dfdbff6573b1c8899e3a8d71e32c33fed SHA256 98a08c7d943912a178a9bbe419db60634088e5262ae9053bf2fe730984e5a012
 DIST NVIDIA-Linux-x86_64-285.03.run 56689227 RMD160 d8f387619d70bf9535c87370376622b5bd3fc94e SHA1 f301677f66d7d92d11654c8ec97a3c8d53ae429f SHA256 fc1e895635b9ea7171f4e7c549e6502f3853838cb4cc254a190b004579a1f919
 DIST NVIDIA-Linux-x86_64-96.43.19-pkg2.run 13829870 RMD160 c9b2edd825d30f8deea101d5dfd51f86dbf09ffe SHA1 f3cdb5d95c5bb9057d09331395e72fe8d5006f17 SHA256 81939f9ee45255cc137719a10b8947bc90cf5697da9e27991cee5a7061d5de19
@@ -41,9 +44,10 @@ EBUILD nvidia-drivers-173.14.30.ebuild 15341 RMD160 d11c47b7571d5e93da0365c064cb
 EBUILD nvidia-drivers-173.14.31.ebuild 15349 RMD160 4cbaf45779c6e6849a79cf4b8a6269c183bfdd95 SHA1 1f1d2e408f0aea86294192e78d1dd110d3cd6891 SHA256 0649532fc9113f1ec50df5bc9284131d03ea984483bf178e3cbe61a0ad03b15a
 EBUILD nvidia-drivers-270.41.19.ebuild 16568 RMD160 a65dd5065686c22f61cfce4dccf455118bdd9606 SHA1 c2a6bda5d1d36c9aac18346ff89a59b3e5c73ad8 SHA256 8732c38fb129a6a5e8bcd973a9472a4cc90d6a0e14926dcacccc4ddf6989f986
 EBUILD nvidia-drivers-275.09.07.ebuild 16567 RMD160 62681e0310cedb499400dc10bc4a810a47497b33 SHA1 13bde8ed0e7c58cec9fbbf7e34b053df31d7e897 SHA256 b0d96046666aff71844dc2b8d649ddef4eaeb48ccab374a1bb58ca4749031278
+EBUILD nvidia-drivers-275.28.ebuild 16579 RMD160 1ae3cf165bf7c001e11755ccc778e531474a0b17 SHA1 750dd92aa3017a4937a02624200c217c6c3ff9eb SHA256 22548bb964b0228a15a55df830db881cb53433bb9256851e37618a294bda5ee2
 EBUILD nvidia-drivers-280.13.ebuild 16579 RMD160 ee7ef34038363026397a0c620ace83b55ffed947 SHA1 ba5f1b0fc00786c3dbd4f8ea40f68701ca29584f SHA256 e123abdd82fc1a53c46aebadebefc434e8f512e31ca0e54de767cc3b57a888e4
 EBUILD nvidia-drivers-285.03.ebuild 16579 RMD160 123352f6192b8f9185c7f384be6ab4b11944b213 SHA1 754480ef2b561489cca44b6567abd375dc1366ff SHA256 2d124468b42edfd08874c07d619fcfd46ff1cccdd23f6234ff8de48eea0578a5
 EBUILD nvidia-drivers-96.43.19.ebuild 15643 RMD160 191d8bc638f28a713ad4aee08808ac9b41fbe6c5 SHA1 9dbee7e6497f06235325ba25cb245ba971a9bd53 SHA256 c05c182e870bd8b0363259edcf08d6c464696fb6221e9aeb4680664d171e1f8e
 EBUILD nvidia-drivers-96.43.20.ebuild 15584 RMD160 55c9da9be059793df879a2a4e4c376ba03bb6017 SHA1 bfe867ab82cc7e49b62f8db0b2198a0efec99764 SHA256 e63031c05251bb01d0c5adf930a969dfcb1009d3797647156f356b970d0af3c7
-MISC ChangeLog 63966 RMD160 e0da6312db884fcbfd030d63a9e499a1ae2066cb SHA1 dc214b03306bb6aa045a9164c744aac480ebde9c SHA256 aee5cd2c83a9c409407968ac6681c4f7aaad06a4b817a8f1f324ca639e934bf9
+MISC ChangeLog 64253 RMD160 820c229f4f4dc9ce7430407ad98154817f5afdec SHA1 3e3bdf1786f66615c436b9d8b369f4d1ebb4f832 SHA256 587df549e924cfd1f07a237647e14f69199d8454645ed3c8fcba818a6b820728
 MISC metadata.xml 549 RMD160 b6f8cfd5fe9668f4031b43d2167ba4712b3cb508 SHA1 c48be9c87aa8b237fa09848a53625f8312fa2056 SHA256 22653e2d8ee95e57ce47b6292a9988feecada431dde56c2c97198efd6f4b9354
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-275.28.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-275.28.ebuild
new file mode 100644 (file)
index 0000000..9d5fd40
--- /dev/null
@@ -0,0 +1,542 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-275.28.ebuild,v 1.1 2011/09/14 15:59:10 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}.run )
+        amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+        x86-fbsd? ( http://us.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.11.99
+       kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+       multilib? ( app-emulation/emul-linux-x86-xlibs )
+       >=app-admin/eselect-opengl-1.0.9
+       !<media-video/nvidia-settings-256.52"
+DEPEND="${COMMON}
+       kernel_linux? ( virtual/linux-sources )"
+RDEPEND="${COMMON}
+       x11-libs/libXvMC
+       acpi? ( sys-power/acpid )"
+PDEPEND=">=x11-libs/libvdpau-0.3-r1
+       gtk? ( media-video/nvidia-settings )"
+
+QA_TEXTRELS_x86="
+       usr/lib/libOpenCL.so.1.0.0
+       usr/lib/libXvMCNVIDIA.so.${PV}
+       usr/lib/libcuda.so.${PV}
+       usr/lib/libnvcuvid.so.${PV}
+       usr/lib/libnvidia-cfg.so.${PV}
+       usr/lib/libnvidia-compiler.so.${PV}
+       usr/lib/libnvidia-glcore.so.${PV}
+       usr/lib/libnvidia-ml.so.${PV}
+       usr/lib/libvdpau_nvidia.so.${PV}
+       usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib/xorg/modules/drivers/nvidia_drv.so"
+
+QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
+       usr/lib/opengl/nvidia/lib/libGL.so.1
+       usr/lib/libnvidia-glcore.so.1
+       usr/lib/libnvidia-cfg.so.1
+       usr/lib/libnvidia-ml.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/libnvidia-glcore.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}"
+
+QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/libnvidia-glcore.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}
+       usr/lib/libvdpau_nvidia.so.${PV}
+       usr/lib/libcuda.so.${PV}
+       usr/lib/libOpenCL.so.1.0.0"
+
+QA_EXECSTACK_amd64="usr/lib32/libnvidia-glcore.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/libnvidia-compiler.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib32/libvdpau_nvidia.so.${PV}
+       usr/lib32/libcuda.so.${PV}
+       usr/lib32/libOpenCL.so.1.0.0
+       usr/lib64/libnvidia-compiler.so.${PV}
+       usr/lib64/libXvMCNVIDIA.a:NVXVMC.o
+       usr/lib64/libnvidia-cfg.so.${PV}
+       usr/lib64/libnvidia-ml.so.${PV}
+       usr/lib64/libvdpau_nvidia.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/libnvidia-glcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/libcuda.so.${PV}
+       usr/lib64/libOpenCL.so.1.0.0
+       usr/lib64/xorg/modules/drivers/nvidia_drv.so
+       usr/bin/nvidia-smi
+       usr/bin/nvidia-xconfig
+       usr/bin/nvidia-settings"
+
+QA_WX_LOAD_x86="usr/lib/libnvidia-glcore.so.${PV}
+       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/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/libnvidia-glcore.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/libnvidia-glcore.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/libnvidia-glcore.so.${PV}
+       usr/lib64/libnvidia-ml.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/lib64/libnvcuvid.so.${PV}
+       usr/bin/nvidia-smi
+       usr/bin/nvidia-xconfig
+       usr/bin/nvidia-settings"
+
+QA_DT_HASH_x86="usr/lib/libcuda.so.${PV}
+       usr/lib/libnvidia-cfg.so.${PV}
+       usr/lib/libnvidia-glcore.so.${PV}
+       usr/lib/libnvidia-ml.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/lib/libnvcuvid.so.${PV}
+       usr/bin/nvidia-smi
+       usr/bin/nvidia-xconfig
+       usr/bin/nvidia-settings"
+
+S="${WORKDIR}/"
+
+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 "
+               eerror "'lockdep_init_map' as GPL-only which will prevent "
+               eerror "${P} from compiling."
+               eerror "Please make sure the following options have been unset:"
+               eerror
+               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} 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
+
+       if use kernel_linux; then
+               # Quiet down warnings the user does not need to see
+               sed -i \
+                       -e 's:-Wsign-compare::g' \
+                       "${NV_SRC}"/Makefile.kbuild
+
+               epatch "${FILESDIR}"/256.35-unified-arch.patch
+
+               # 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"
+       dosym /usr/$(get_libdir)/libnvidia-cfg.so.${NV_SOVER} \
+               /usr/$(get_libdir)/libnvidia-cfg.so || \
+               die "failed to create libnvidia-cfg.so symlink"
+
+       # NVIDIA monitoring library
+       dolib.so ${NV_LIB}/libnvidia-ml.so.${NV_SOVER} || \
+               die "failed to install libnvidia-ml"
+       dosym /usr/$(get_libdir)/libnvidia-ml.so.${NV_SOVER} \
+               /usr/$(get_libdir)/libnvidia-ml.so || \
+               die "failed to create libnvidia-ml.so symlink"
+
+       # NVIDIA video decode <-> CUDA
+       dolib.so ${NV_LIB}/libnvcuvid.so.${NV_SOVER} || \
+               die "failed to install libnvcuvid.so"
+       dosym /usr/$(get_libdir)/libnvcuvid.so.${NV_SOVER} \
+               /usr/$(get_libdir)/libnvcuvid.so || \
+               die "failed to create libnvcuvid.so symlink"
+
+       # 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"
+
+       # OpenCL ICD for NVIDIA
+       if use kernel_linux; then
+               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"
+               use gtk && doman "${NV_MAN}/nvidia-settings.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"
+               use gtk && doman "${NV_MAN}/nvidia-settings.1.gz"
+       fi
+
+       # Helper Apps
+       dobin ${NV_EXEC}/nvidia-xconfig || die
+       if use gtk; then
+               dobin ${NV_EXEC}/nvidia-settings || die
+       fi
+       dobin ${NV_EXEC}/nvidia-bug-report.sh || die
+       if use kernel_linux; then
+               dobin ${NV_EXEC}/nvidia-smi || die
+       fi
+
+       # Desktop entries for nvidia-settings
+       if use gtk; then
+               sed -e 's:__UTILS_PATH__:/usr/bin:' \
+                       -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+                       -i "${NV_EXEC}/nvidia-settings.desktop"
+               domenu ${NV_EXEC}/nvidia-settings.desktop
+
+               doicon ${NV_EXEC}/nvidia-settings.png
+       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
+
+       # VDPAU
+       donvidia /usr/${inslibdir} ${libdir}/libvdpau_nvidia.so ${sover}
+
+       # CUDA & OpenCL
+       if use kernel_linux; then
+               donvidia /usr/${inslibdir} ${libdir}/libcuda.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
+       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."
+       elog
+
+       if ! use gtk; then
+               elog "USE=gtk controls whether the nvidia-settings application"
+               elog "is installed. If you would like to use it, enable that"
+               elog "flag and re-emerge this ebuild. media-video/nvidia-settings"
+               elog "no longer installs nvidia-settings but only installs the"
+               elog "associated user space libraries."
+       fi
+}
+
+pkg_postrm() {
+       if use kernel_linux; then
+               linux-mod_pkg_postrm
+       fi
+       eselect opengl set --use-old xorg-x11
+}