diff options
author | Jeroen Roovers <jer@gentoo.org> | 2010-12-06 19:40:01 +0000 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2010-12-06 19:40:01 +0000 |
commit | 93424d8a290963dfbbce9142f1ddcc7bd2b41bc6 (patch) | |
tree | d8ca620472d479168dd47c70611e68064e272544 /x11-drivers | |
parent | amd64 stable, bug #326371. removed old. (diff) | |
download | historical-93424d8a290963dfbbce9142f1ddcc7bd2b41bc6.tar.gz historical-93424d8a290963dfbbce9142f1ddcc7bd2b41bc6.tar.bz2 historical-93424d8a290963dfbbce9142f1ddcc7bd2b41bc6.zip |
Version bump by radfoj (bug #342361).
Package-Manager: portage-2.2.0_alpha6/cvs/Linux i686
Diffstat (limited to 'x11-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-173.14.28.ebuild | 498 |
3 files changed, 510 insertions, 12 deletions
diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index 98137b3ee26e..aa31f1be074a 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.261 2010/12/01 21:43:49 spock Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.262 2010/12/06 19:40:01 jer Exp $ + +*nvidia-drivers-173.14.28 (06 Dec 2010) + + 06 Dec 2010; Jeroen Roovers <jer@gentoo.org> + +nvidia-drivers-173.14.28.ebuild: + Version bump by radfoj (bug #342361). *nvidia-drivers-260.19.26 (01 Dec 2010) diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index c204439a816d..7cbdf8021c03 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX 09nvidia 61 RMD160 b69c3282ba6195112e312fe34bdcb12544aef8ca SHA1 05dd043f66f53409dfe511636d92a339edb4c765 SHA256 14702d6726cc9f0ad832a3cc90059999eb956f9e3a35397cb63cfa6347b33e39 AUX 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 @@ -16,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.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-173.14.28.tar.gz 17555603 RMD160 d763911b3790440f81bb21582943a08c4decfaa4 SHA1 c63ed2a2c976d89b201da2ccfa709760fdae3075 SHA256 3389c1b2faf68bab3ebd55593539580e418ef3beba29428ae2fe11a9a5154ebb DIST NVIDIA-FreeBSD-x86-190.53.tar.gz 20134738 RMD160 3ee6e5dafba9c8a12102c60af11b89311b0aa206 SHA1 73b2227f94be32257506b573213d39aaf80617da SHA256 583c5726ca6f35f34aa68a2c5a1ef609dc808057aa88c3c000702d82ca60ef29 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 @@ -29,6 +27,7 @@ DIST NVIDIA-FreeBSD-x86-96.43.18.tar.gz 11841250 RMD160 ee0df712144ae68dfb1fa072 DIST NVIDIA-FreeBSD-x86-96.43.19.tar.gz 13352481 RMD160 376311eb6708f4b7f20b6326bb88d9a33e7b3d37 SHA1 72555f3da8a796e491eaa67192334ccefcdd2256 SHA256 b5dce181cc654a729ba06dd528a180d14a792b0328fcfbf86bb0f819285c0dd5 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-173.14.28-pkg0.run 13032354 RMD160 685fa1dc37ab836e6d4c431bbe3eaa60f861ce04 SHA1 c6b42a4dd9ae4f4b5e99241ac0a3a72a9bef89a5 SHA256 18a3c2ea1cf5635416179fed0b13cfe0466498039ad95bd6387c6c19599c1c46 DIST NVIDIA-Linux-x86-190.53-pkg0.run 14720222 RMD160 431efebaaf4d7a677df9bb3618d81210cd9e54eb SHA1 d8865bcaeb7f4c8c470828a3ed7dffb1bbc7a4eb SHA256 e9a985d485bbba11bf130a393a426f0eacd939e94705660d2b39ee8f1a25f57a 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 @@ -42,6 +41,7 @@ DIST NVIDIA-Linux-x86-96.43.18-pkg0.run 8443640 RMD160 b59b60709c74f466fb33ac0f2 DIST NVIDIA-Linux-x86-96.43.19-pkg0.run 9721273 RMD160 ca40f0572e36479bfdd4d921be45da7055692762 SHA1 dc5f0d5b068756991a7d7e50e17bfcf09684702f SHA256 e25810e809ea56ab33ebb3e79e885eb19784dcce2bb0102c0cb5daa372aaf1c8 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-173.14.28-pkg2.run 18522274 RMD160 8eaec982c7233a964a909a620c24ed2d2b33ab37 SHA1 a840038e8dc6006174e01f8897a5737b6369b34f SHA256 4abcacf5e741e591e6d254e4e87a67b5111b55971300d3f92080b6f68a4ccdf8 DIST NVIDIA-Linux-x86_64-190.53-pkg2.run 23111088 RMD160 7753b1a624a78e8c96ed7442157b8bfbdf1066bd SHA1 a80402aaaccae2d9ea5a974d837885e0d717ef11 SHA256 9e3d74e349767bbd1a87c19e082efe3a378e1bc2273b333ee8b1cc00254557fa 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 @@ -55,6 +55,7 @@ DIST NVIDIA-Linux-x86_64-96.43.18-pkg2.run 12338886 RMD160 38cf91827e3011a35b00c DIST NVIDIA-Linux-x86_64-96.43.19-pkg2.run 13829870 RMD160 c9b2edd825d30f8deea101d5dfd51f86dbf09ffe SHA1 f3cdb5d95c5bb9057d09331395e72fe8d5006f17 SHA256 81939f9ee45255cc137719a10b8947bc90cf5697da9e27991cee5a7061d5de19 EBUILD nvidia-drivers-173.14.25.ebuild 15359 RMD160 f76b8045fb57d3e39a8c880e0ec7b11a1c395838 SHA1 64b341c198d796892f5216efee84c142d48ee701 SHA256 247b753c685d09f124408ec687d1d9e5a492d87c3cd72ef42e7df409c1e3c114 EBUILD nvidia-drivers-173.14.27.ebuild 15389 RMD160 f482d1c91a23e197b97e8e48d0f53c880d4a3ca2 SHA1 26962c789ebea9fca1bad121b00626a40dec2710 SHA256 075db31110eba30d9fe791e17640023d33c2f8ee92559d3497292d7b21d6278f +EBUILD nvidia-drivers-173.14.28.ebuild 15381 RMD160 1a0f1d4ad62e138deb67a6327e03d24c7e278334 SHA1 2a70b6fd777a587d59f4945de327e7733b369d54 SHA256 55df1740118a43d9c0cd1faa51638ac025b8afce451d8df78b01cc75c8eadb31 EBUILD nvidia-drivers-190.53-r1.ebuild 15484 RMD160 9677efa6e2a0da095293798813baa67544c7de88 SHA1 da524d214695935095d6bfad67da1344cc152218 SHA256 66a541fdc9f837c9e5969e472eb5493324fe27affa7706c2a65f63ca14944832 EBUILD nvidia-drivers-195.36.24.ebuild 16151 RMD160 f24b7c3606aa81d831b3b856f00c9e60039f2c9a SHA1 d26b0b23267b5308b2226a68ef649616d1d9656a SHA256 ba473f7ace82ed993193f93eb63f7de4ca34f6b96826831fbb0b933b4240b71a EBUILD nvidia-drivers-195.36.31.ebuild 16167 RMD160 a69f15f581e37467b5f7de42041e9fad41cb3957 SHA1 a5cbaa055c850fd3060608d50f2accbcbdfe6de6 SHA256 575d79f8627cb12f97c2bc591277c10d66501b66fc1bae9adb18b2142c5aa821 @@ -67,12 +68,5 @@ EBUILD nvidia-drivers-260.19.26.ebuild 16187 RMD160 f4174dfa13e976dcb6eb442bed59 EBUILD nvidia-drivers-96.43.16.ebuild 15375 RMD160 7f5c11269019caa7a32416a1762404487a17b76a SHA1 a78162fc120650cde3fe7078a481c24bad50df4f SHA256 9260a5e3421b9b9f7a704531bb965d7bd317e552fc3a35140faf3838ae78621e EBUILD nvidia-drivers-96.43.18.ebuild 15371 RMD160 157df03ce0e958ac9f06aa602a762a5da23b4468 SHA1 677b245bbf68381db0ea3b03f03db2aa83bcc7c0 SHA256 7191c8ed7f3aa4682d312c7ad1973e9df94a195fada91340fc8e3450b416838a EBUILD nvidia-drivers-96.43.19.ebuild 15363 RMD160 e3e4d5a6d4244f9bf96bc638bb7ac01e3c8cd67e SHA1 8126afbcc878487a2da6670299805eafadb11396 SHA256 c9d35f331c8b69b8db44778c99d5bd6324531f59e4bdca0d899c95a0a15ca955 -MISC ChangeLog 56788 RMD160 258fa25caa88d7737d1101ec46eec7e76e50893f SHA1 a4f9f926bf38d4ae74183980893be07a5c2190fd SHA256 0502e2a5da83f9ec1ccbfc78e72cbdec79bda4def7deb677c2946960ee04a50c +MISC ChangeLog 56951 RMD160 7cc5cde97566de460d60d650c5dde054e9fdfe9a SHA1 910124345d1b049c18e29c0fce807f751de95349 SHA256 11d3db8de398c9d5d58d69a01d3d9f500453b42432e34a9a68c8409079bd81e5 MISC metadata.xml 549 RMD160 b6f8cfd5fe9668f4031b43d2167ba4712b3cb508 SHA1 c48be9c87aa8b237fa09848a53625f8312fa2056 SHA256 22653e2d8ee95e57ce47b6292a9988feecada431dde56c2c97198efd6f4b9354 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEARECAAYFAkz2waYACgkQchej4aZK9/e5/wCdGYWg3fQ7M5rh14No6iMYoJmo -80oAnAl4vVnjF2qIk0ZGj68/9oxI32hu -=ggEM ------END PGP SIGNATURE----- diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.28.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.28.ebuild new file mode 100644 index 000000000000..4fecdb199138 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.28.ebuild @@ -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.28.ebuild,v 1.1 2010/12/06 19:40:01 jer 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 + 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} + 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 && [[ -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 +} |