From: Jeremy Huddleston Date: Tue, 13 Mar 2007 22:40:40 +0000 (+0000) Subject: Install libnvidia-cfg.so. Fixes bug #114893. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c229324b14466d7d724ed52e75cf3e7079c9e6bb;p=gentoo.git Install libnvidia-cfg.so. Fixes bug #114893. Package-Manager: portage-2.1.2.2 --- diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index 71680026fda9..35c87999c0b2 100644 --- a/x11-drivers/nvidia-drivers/ChangeLog +++ b/x11-drivers/nvidia-drivers/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for x11-drivers/nvidia-drivers # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.41 2007/03/07 23:14:54 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.42 2007/03/13 22:40:40 eradicator Exp $ + +*nvidia-drivers-1.0.9755-r1 (13 Mar 2007) +*nvidia-drivers-1.0.9746-r1 (13 Mar 2007) +*nvidia-drivers-1.0.9631-r1 (13 Mar 2007) +*nvidia-drivers-1.0.8776-r1 (13 Mar 2007) + + 13 Mar 2007; Jeremy Huddleston + +nvidia-drivers-1.0.8776-r1.ebuild, -nvidia-drivers-1.0.9631.ebuild, + +nvidia-drivers-1.0.9631-r1.ebuild, -nvidia-drivers-1.0.9746.ebuild, + +nvidia-drivers-1.0.9746-r1.ebuild, -nvidia-drivers-1.0.9755.ebuild, + +nvidia-drivers-1.0.9755-r1.ebuild: + Install libnvidia-cfg.so. Fixes bug #114893. *nvidia-drivers-1.0.9755 (07 Mar 2007) diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 7db6c6148f41..9af45e912c9d 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 MD5 c3afc69f917a783ebd53cf2de38065dc files/09nvidia 61 RMD160 b69c3282ba6195112e312fe34bdcb12544aef8ca files/09nvidia 61 @@ -41,26 +38,30 @@ DIST NVIDIA-Linux-x86_64-1.0-8776-pkg2.run 9982646 RMD160 5cba53392aa0fd27231d01 DIST NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636 RMD160 5e9c501fbfad27686651f64705854552be6c3f0c SHA1 add85f7b7d47c6657c1b53bbe6f8da0e1da0a1d7 SHA256 009d6e4171fa18580264ce0ace92c1c68f0702f009837f1214d77b6948223375 DIST NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919 RMD160 b3a050ea487e627cdf2e9ba8dab8a178be6d0bfc SHA1 eee24a1db159c4cadc367f1ab2ed8306e23c89fe SHA256 22f9f09a5ceca852c20f12690ac396738f26e150713b2e56cbb42e752454abf9 DIST NVIDIA-Linux-x86_64-1.0-9755-pkg2.run 11768823 RMD160 dbc5f34410294de21cadcd17216c45000a0464a1 SHA1 28fb1ac0948a583e8c760b541e19614f3f6ba0d4 SHA256 eaa467d3cde6fe61feb0cbe911316742e03e841d18a94c531caffa42457be785 +EBUILD nvidia-drivers-1.0.8776-r1.ebuild 12797 RMD160 3643ad530e9ed311c49370ace592ae8bf336c201 SHA1 da5bcbbd096dcbc0de51b8e9232b46d49858253e SHA256 1ea640a5cd38b648f3ba780a7326c1aa350dd23076c8790bb95e39ec496b9f49 +MD5 7c3abf53fff7f1914657c5899beff430 nvidia-drivers-1.0.8776-r1.ebuild 12797 +RMD160 3643ad530e9ed311c49370ace592ae8bf336c201 nvidia-drivers-1.0.8776-r1.ebuild 12797 +SHA256 1ea640a5cd38b648f3ba780a7326c1aa350dd23076c8790bb95e39ec496b9f49 nvidia-drivers-1.0.8776-r1.ebuild 12797 EBUILD nvidia-drivers-1.0.8776.ebuild 12566 RMD160 6adb3d6125f9a5c0fd91eedc11d77ac00a860a32 SHA1 6494df0921efa8aa658e7d60d094ff9d1f1e300e SHA256 91caffa37522a218e870c24bef26610a7374d256dd88081c6ad480d838ed2cee MD5 4e6a40725afd521a3ba3e61f2d01947f nvidia-drivers-1.0.8776.ebuild 12566 RMD160 6adb3d6125f9a5c0fd91eedc11d77ac00a860a32 nvidia-drivers-1.0.8776.ebuild 12566 SHA256 91caffa37522a218e870c24bef26610a7374d256dd88081c6ad480d838ed2cee nvidia-drivers-1.0.8776.ebuild 12566 -EBUILD nvidia-drivers-1.0.9631.ebuild 12736 RMD160 6b890e1267834855833cddf7e659e7fe2f243353 SHA1 205711922d6c130c0cc89b4492d37d7c37a0afb1 SHA256 3b628a32e07f3a8ede5991671b39a57970eb9e2c420d658a305cf74cec610941 -MD5 3aee2fd9a25fa9f30e91ab5151ef1f31 nvidia-drivers-1.0.9631.ebuild 12736 -RMD160 6b890e1267834855833cddf7e659e7fe2f243353 nvidia-drivers-1.0.9631.ebuild 12736 -SHA256 3b628a32e07f3a8ede5991671b39a57970eb9e2c420d658a305cf74cec610941 nvidia-drivers-1.0.9631.ebuild 12736 -EBUILD nvidia-drivers-1.0.9746.ebuild 12894 RMD160 a76b9c27d6564f4ae69032bebf5526d66b7ef0f5 SHA1 add4bf3eb6b28ce0422e4e8fb67cbf37a771073d SHA256 b3ed12222f2d01aa3a53291fc04b428b76771c9a2feed6c6bdd072b721339658 -MD5 321dfa791dd193e0aaad1e5f362f4afb nvidia-drivers-1.0.9746.ebuild 12894 -RMD160 a76b9c27d6564f4ae69032bebf5526d66b7ef0f5 nvidia-drivers-1.0.9746.ebuild 12894 -SHA256 b3ed12222f2d01aa3a53291fc04b428b76771c9a2feed6c6bdd072b721339658 nvidia-drivers-1.0.9746.ebuild 12894 -EBUILD nvidia-drivers-1.0.9755.ebuild 12894 RMD160 c0d725dc21279704468b8122998f980717eab3c6 SHA1 14575ed90bd2b5722a957c8dff7e8391f3a678d4 SHA256 19e2a63c71a12e71930f9317d6e8be914abfe7cbba9bf6a10a9ecb41740af5a8 -MD5 360860a1c311b38f689b17fc3ec41236 nvidia-drivers-1.0.9755.ebuild 12894 -RMD160 c0d725dc21279704468b8122998f980717eab3c6 nvidia-drivers-1.0.9755.ebuild 12894 -SHA256 19e2a63c71a12e71930f9317d6e8be914abfe7cbba9bf6a10a9ecb41740af5a8 nvidia-drivers-1.0.9755.ebuild 12894 -MISC ChangeLog 9360 RMD160 4c044a2fc5a280028ae73673cb3ce61cea69d68c SHA1 0fc6a8f6233b0e3c6537585d187e981347064393 SHA256 c90cc615212351124b1c897e5addd30de02e516c5132a50b03f4ae2406418937 -MD5 37e59d3fd02b5e46ab193d120e6cce7f ChangeLog 9360 -RMD160 4c044a2fc5a280028ae73673cb3ce61cea69d68c ChangeLog 9360 -SHA256 c90cc615212351124b1c897e5addd30de02e516c5132a50b03f4ae2406418937 ChangeLog 9360 +EBUILD nvidia-drivers-1.0.9631-r1.ebuild 13015 RMD160 ebf7f624d3a168651ad3463db5386e4edc103be8 SHA1 a1ba09c5dc02fbd0e4db76ae47d8ef38ac4f3591 SHA256 9a498a2dc05874b449b33ea955029e23aa6218c9c51ab7f837a7bd7a1203e8ee +MD5 86546399dd13d654df4f333c1038ae67 nvidia-drivers-1.0.9631-r1.ebuild 13015 +RMD160 ebf7f624d3a168651ad3463db5386e4edc103be8 nvidia-drivers-1.0.9631-r1.ebuild 13015 +SHA256 9a498a2dc05874b449b33ea955029e23aa6218c9c51ab7f837a7bd7a1203e8ee nvidia-drivers-1.0.9631-r1.ebuild 13015 +EBUILD nvidia-drivers-1.0.9746-r1.ebuild 13173 RMD160 0de8878202148fa4cfd6f299492b2ffd7b3e2ec9 SHA1 42bbb567065d188484d2f5c3c08fe8ae21c8666d SHA256 4160900ef7aca0430af7e6f7fa3ecd20d31af6b1996937cdb4482bf925aaf5f8 +MD5 51b9bd18029477a6c7df79ac42777a97 nvidia-drivers-1.0.9746-r1.ebuild 13173 +RMD160 0de8878202148fa4cfd6f299492b2ffd7b3e2ec9 nvidia-drivers-1.0.9746-r1.ebuild 13173 +SHA256 4160900ef7aca0430af7e6f7fa3ecd20d31af6b1996937cdb4482bf925aaf5f8 nvidia-drivers-1.0.9746-r1.ebuild 13173 +EBUILD nvidia-drivers-1.0.9755-r1.ebuild 13173 RMD160 0655282de6c32f3c2da7a9982585cb18d131bd1a SHA1 203baf041dfa929df41433f2d9fee2208cedabd6 SHA256 99da8571b99fccca2c341e46f43709d8ae9a07e03e62e92542b80d4b15d26339 +MD5 10e78501abd84e2a2cc3929d993818e9 nvidia-drivers-1.0.9755-r1.ebuild 13173 +RMD160 0655282de6c32f3c2da7a9982585cb18d131bd1a nvidia-drivers-1.0.9755-r1.ebuild 13173 +SHA256 99da8571b99fccca2c341e46f43709d8ae9a07e03e62e92542b80d4b15d26339 nvidia-drivers-1.0.9755-r1.ebuild 13173 +MISC ChangeLog 9888 RMD160 536cecd925cf4453ef83e9e6a495833798fd8d46 SHA1 8bd325f00e0455de9857433ab36a1a6a7ddb816e SHA256 2d3d591e38a723a64eb65b29976aaa4b51ad68d54b3f4f239e2a6585dd46e99b +MD5 0a7b200b2688a034372b2f93d0a0b13f ChangeLog 9888 +RMD160 536cecd925cf4453ef83e9e6a495833798fd8d46 ChangeLog 9888 +SHA256 2d3d591e38a723a64eb65b29976aaa4b51ad68d54b3f4f239e2a6585dd46e99b ChangeLog 9888 MISC metadata.xml 302 RMD160 66c75d5895f747b8ce5af0f80b90af8fea1d07d7 SHA1 47dde751e4e0c833a65f32e106e594f449fe58a2 SHA256 0aa0f01ad14674164a2898387b83ded31b2b67a12757165debe6b03ee2fd692f MD5 643cec14f7f1dda9a26f163853dbf080 metadata.xml 302 RMD160 66c75d5895f747b8ce5af0f80b90af8fea1d07d7 metadata.xml 302 @@ -68,19 +69,15 @@ SHA256 0aa0f01ad14674164a2898387b83ded31b2b67a12757165debe6b03ee2fd692f metadata MD5 352fa2d75a4a3f1244165817cdbf61d4 files/digest-nvidia-drivers-1.0.8776 867 RMD160 073fc276016fc837371f3c321bd76786bc68ca19 files/digest-nvidia-drivers-1.0.8776 867 SHA256 9a2c001f4a7d6b6461ae0ed151c958442f1bc15f7c4515f499d876a503d41f92 files/digest-nvidia-drivers-1.0.8776 867 -MD5 e40c59778a2bc692817308df81ae2d1c files/digest-nvidia-drivers-1.0.9631 870 -RMD160 3f03d5b9e447512ed9a1fd6eefbc6d013c7b9c14 files/digest-nvidia-drivers-1.0.9631 870 -SHA256 7d920f7b6cae52a27fa4c0e9194e1e96565862955c2ceba136327bb92564c748 files/digest-nvidia-drivers-1.0.9631 870 -MD5 288c8bcf08292abe4f7ec43168890bf4 files/digest-nvidia-drivers-1.0.9746 873 -RMD160 030aedf4c386fb0df0568fb35f62a36db9697901 files/digest-nvidia-drivers-1.0.9746 873 -SHA256 7a5e7a36e96d0a168150703a0d7c9d5d6604a66046b50d9a81a34f3066bf0c2d files/digest-nvidia-drivers-1.0.9746 873 -MD5 b5eee0015ba9c577cc726a3d2c12ae31 files/digest-nvidia-drivers-1.0.9755 873 -RMD160 f8491760b7f68c1ab846c55517131773f14e0c83 files/digest-nvidia-drivers-1.0.9755 873 -SHA256 8950b102eca59ec72c39db57778a0c47ea65f8bd29abe4c00307fd8bfd64afd3 files/digest-nvidia-drivers-1.0.9755 873 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.3 (GNU/Linux) - -iD8DBQFF9dnf8bi6rjpTunYRAqyaAJ9Uwk9lS35wT9WMvxnqX9g+YRYvUwCg2DB+ -kR5Kuzi80ZiZTPHZY5UPVOI= -=lz8P ------END PGP SIGNATURE----- +MD5 352fa2d75a4a3f1244165817cdbf61d4 files/digest-nvidia-drivers-1.0.8776-r1 867 +RMD160 073fc276016fc837371f3c321bd76786bc68ca19 files/digest-nvidia-drivers-1.0.8776-r1 867 +SHA256 9a2c001f4a7d6b6461ae0ed151c958442f1bc15f7c4515f499d876a503d41f92 files/digest-nvidia-drivers-1.0.8776-r1 867 +MD5 d7a99a9c9bda4ad4a38a89f85ec56048 files/digest-nvidia-drivers-1.0.9631-r1 626 +RMD160 ae9433e5ed3dbefa216fdb5dd0f8aac2dcd98efc files/digest-nvidia-drivers-1.0.9631-r1 626 +SHA256 b68a1920a1e24626d091ada4079cdda6f3370339b3c55bc71035e9ad9e0e2923 files/digest-nvidia-drivers-1.0.9631-r1 626 +MD5 f0a21dd7d35560a492fd4570447029a3 files/digest-nvidia-drivers-1.0.9746-r1 712 +RMD160 8999d64d6ce813e8c77934e751ffbe574f02cde3 files/digest-nvidia-drivers-1.0.9746-r1 712 +SHA256 9d1b0adc44d93eec1c41cc2326d100d0552cb898cdb78464044966f32ae5ada8 files/digest-nvidia-drivers-1.0.9746-r1 712 +MD5 b5eee0015ba9c577cc726a3d2c12ae31 files/digest-nvidia-drivers-1.0.9755-r1 873 +RMD160 f8491760b7f68c1ab846c55517131773f14e0c83 files/digest-nvidia-drivers-1.0.9755-r1 873 +SHA256 8950b102eca59ec72c39db57778a0c47ea65f8bd29abe4c00307fd8bfd64afd3 files/digest-nvidia-drivers-1.0.9755-r1 873 diff --git a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.8776-r1 b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.8776-r1 new file mode 100644 index 000000000000..e42df39f7972 --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.8776-r1 @@ -0,0 +1,9 @@ +MD5 6a8bb2e699a967b6b20dc24a96bf363d NVIDIA-FreeBSD-x86-1.0-8776.tar.gz 9448963 +RMD160 d646e511978ac77fddb6600eabdfc1ea32146e00 NVIDIA-FreeBSD-x86-1.0-8776.tar.gz 9448963 +SHA256 404f25862031d8f3036de33d2a0fafc3c54821a9a08832c1c1616c145d93baa5 NVIDIA-FreeBSD-x86-1.0-8776.tar.gz 9448963 +MD5 93ad45fe7b974a5a80348e1890f9b7c9 NVIDIA-Linux-x86-1.0-8776-pkg0.run 6479231 +RMD160 296dcc76c43fd65105f8d0c6f99295ee983b8872 NVIDIA-Linux-x86-1.0-8776-pkg0.run 6479231 +SHA256 0b25f9e407ea513cac8d600054d2dc28ca2e407caa535510210ad9fa5f45e8dc NVIDIA-Linux-x86-1.0-8776-pkg0.run 6479231 +MD5 9ff6453fd65a4fff758b36e34afa5141 NVIDIA-Linux-x86_64-1.0-8776-pkg2.run 9982646 +RMD160 5cba53392aa0fd27231d01883679e1a1dba7ee34 NVIDIA-Linux-x86_64-1.0-8776-pkg2.run 9982646 +SHA256 6fc8dedf782fdfe408dc0196531c301bb3bafac6878520537807118f3a2f9384 NVIDIA-Linux-x86_64-1.0-8776-pkg2.run 9982646 diff --git a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631 b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631-r1 similarity index 71% rename from x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631 rename to x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631-r1 index 9027ae7d6b44..626a6c3a7a39 100644 --- a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631 +++ b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9631-r1 @@ -1,9 +1,6 @@ -MD5 d560b1e7d5b0209da7aa32526cdda921 NVIDIA-FreeBSD-x86-1.0-9631.tar.gz 9667093 RMD160 2034f9086ad44ae222199e4949195dffc67274f1 NVIDIA-FreeBSD-x86-1.0-9631.tar.gz 9667093 SHA256 2b467da57bc3bb8e2216ce3d02909cf077da045ebcf294474b784cb521a5d550 NVIDIA-FreeBSD-x86-1.0-9631.tar.gz 9667093 -MD5 b0d721c962c4df1a028ae18416d7e862 NVIDIA-Linux-x86-1.0-9631-pkg0.run 6581907 RMD160 7fc0b394e0a9fbb772e43136528dbd3c2b7ac81e NVIDIA-Linux-x86-1.0-9631-pkg0.run 6581907 SHA256 d1a54248d55f2aecab735e40ae060928670a766a98dd652b2245ebd68085ca5a NVIDIA-Linux-x86-1.0-9631-pkg0.run 6581907 -MD5 64b88c6f405e7f2dd1607c0062c0c1f3 NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636 RMD160 5e9c501fbfad27686651f64705854552be6c3f0c NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636 SHA256 009d6e4171fa18580264ce0ace92c1c68f0702f009837f1214d77b6948223375 NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636 diff --git a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746 b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746-r1 similarity index 81% rename from x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746 rename to x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746-r1 index 418cf845d6ec..acb91a3319cf 100644 --- a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746 +++ b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746-r1 @@ -1,7 +1,5 @@ -MD5 d6dd2fad4f6e05980c2fbb591b06fb99 NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524 RMD160 8fe06d1a3af528c6fae9f94ff0e612d42e034ecd NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524 SHA256 cf8be89d537423c0acc294e57cb659dae94463f6347f63c32b1de39c8051a5a7 NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524 -MD5 575f988468f2c34a302da3d21e282689 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466 RMD160 7968dba12e86ecf93470d2aa1442be0ca04c4bb0 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466 SHA256 11dd3fa562bb4695a65e69b45634b91d3fa6ab7181be5f0448afd3c7efce0756 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466 MD5 c0afc66e1c21a9a54ba6719b8edd3166 NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919 diff --git a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9755 b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9755-r1 similarity index 100% rename from x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9755 rename to x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9755-r1 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.8776-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.8776-r1.ebuild new file mode 100644 index 000000000000..11484e6275c7 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.8776-r1.ebuild @@ -0,0 +1,438 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.8776-r1.ebuild,v 1.1 2007/03/13 22:40:40 eradicator Exp $ + +inherit eutils multilib versionator linux-mod + +NV_V="${PV/1.0./1.0-}" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${NV_V}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${NV_V}" + +DESCRIPTION="NVIDIA X11 driver and GLX libraries" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-pkg0.run ) + amd64? ( http://download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-pkg2.run ) + x86-fbsd? ( http://download.nvidia.com/freebsd/${NV_V}/${X86_FBSD_NV_PACKAGE}.tar.gz )" + +LICENSE="NVIDIA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" +RESTRICT="nostrip multilib-pkg-force" + +DEPEND="kernel_linux? ( virtual/linux-sources )" +RDEPEND="kernel_linux? ( virtual/modutils ) + x11-base/xorg-server + media-libs/mesa + app-admin/eselect-opengl + kernel_FreeBSD? ( !media-video/nvidia-freebsd ) + !app-emulation/emul-linux-x86-nvidia + !x11-drivers/nvidia-legacy-drivers" + +QA_TEXTRELS_x86="usr/lib/xorg/libXvMCNVIDIA.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib/libXvMCNVIDIA.so.${PV} + usr/lib/xorg/modules/drivers/nvidia_drv.so + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_TEXTRELS_amd64="usr/lib64/xorg/libXvMCNVIDIA.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib64/xorg/modules/drivers/nvidia_drv.so + usr/lib64/opengl/nvidia/extensions/libglx.so + usr/lib32/xorg/libXvMCNVIDIA.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib32/libXvMCNVIDIA.so.${PV} + usr/lib32/xorg/modules/drivers/nvidia_drv.so + usr/lib32/opengl/nvidia/extensions/libglx.so" + +QA_WX_LOAD_amd64="usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/extensions/libglx.so" + +export _POSIX2_VERSION="199209" + +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}/usr/src/nv" + +# On BSD userland it wants real make command +MAKE="make" + +mtrr_check() { + ebegin "Checking for MTRR support" + linux_chkconfig_present MTRR + eend $? + + if [[ $? -ne 0 ]] ; then + eerror "This version needs MTRR support for most chipsets!" + 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 +} + +pkg_setup() { + 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 x86-fbsd; then + linux-mod_pkg_setup + MODULE_NAMES="nvidia(video:${S})" + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}" + mtrr_check + fi +} + +src_unpack() { + local NV_PATCH_PREFIX="${FILESDIR}/${PV}/NVIDIA-${PV}" + + if ! use x86-fbsd; then + if [[ ${KV_MINOR} -eq 6 && ${KV_PATCH} -lt 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 + fi + + if ! use x86-fbsd; then + cd ${WORKDIR} + bash ${DISTDIR}/${NV_PACKAGE}${PKG_V}.run --extract-only + else + unpack ${A} + fi + + # Patches go below here, add breif description + use x86-fbsd \ + && cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/doc" \ + || cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}" + # 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 x86-fbsd; then + # Zander kernel patches + # None yet. + + # Quiet down warnings the user do not need to see + sed -i \ + -e 's:-Wpointer-arith::g' \ + -e 's:-Wsign-compare::g' \ + ${S}/Makefile.kbuild + + # If you set this then it's your own fault when stuff breaks :) + [[ -n ${USE_CRAZY_OPTS} ]] && sed -i "s:-O:${CFLAGS}:" Makefile.* + + # If greater than 2.6.5 use M= instead of SUBDIR= + cd ${S}; convert_to_m Makefile.kbuild + + # Patch the Makefile to not warn about nvidia-installer +# epatch ${FILESDIR}/NVIDIA_glx-makefile.patch + + # Patch for kernel 2.6.19 from Daniel Drake + epatch ${FILESDIR}/NVIDIA_kernel-2.6.19.patch + 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. + if use x86-fbsd; then + cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/src" + MAKE="$(get_bmake)" emake CC="$(tc-getCC)" LD="$(tc-getLD)" + else + linux-mod_src_compile + fi +} + +src_install() { + local MLTEST=$(type dyn_unpack) + + cd ${WORKDIR}/${NV_PACKAGE}${PKG_V} + + if ! use x86-fbsd; then + linux-mod_src_install + + # Add the aliases + sed -e 's:\${PACKAGE}:'${PF}':g' ${FILESDIR}/nvidia > ${WORKDIR}/nvidia + insinto /etc/modules.d + newins ${WORKDIR}/nvidia nvidia + else + insinto /boot/modules + doins "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.kld" + + exeinto /boot/modules + doexe "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.ko" + fi + + if [[ "${MLTEST/set_abi}" == "${MLTEST}" ]] && has_multilib_profile ; then + local OABI=${ABI} + for ABI in $(get_install_abis) ; do + src_install-libs + done + ABI=${OABI} + unset OABI + elif use amd64 ; then + src_install-libs lib32 $(get_multilibdir) + src_install-libs lib $(get_libdir) + + rm -rf ${D}/usr/$(get_multilibdir)/opengl/nvidia/include + rm -rf ${D}/usr/$(get_multilibdir)/opengl/nvidia/extensions + else + src_install-libs + fi + + is_final_abi || return 0 + + if ! use x86-fbsd; then + # Docs, remove nvidia-settings as provided by media-video/nvidia-settings + newdoc usr/share/doc/README.txt README + dodoc usr/share/doc/Copyrights usr/share/doc/NVIDIA_Changelog + dodoc usr/share/doc/XF86Config.sample + dohtml usr/share/doc/html/* + else + dodoc doc/README doc/README.Linux doc/XF86Config.sample + fi + + # nVidia want bug reports using this script + exeinto /usr/bin + doexe usr/bin/nvidia-bug-report.sh +} + +# Install nvidia library: +# the first parameter is the place where to install it +# the second paramis the base name of the library +# the third parameter is the provided soversion +donvidia() { + dodir $1 + exeinto $1 + + libname=$(basename $2) + + doexe $2.$3 + dosym ${libname}.$3 $1/${libname} + + [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1 +} + +src_install-libs() { + local pkglibdir=lib + local inslibdir=$(get_libdir) + + if [[ ${#} -eq 2 ]] ; then + pkglibdir=${1} + inslibdir=${2} + elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then + pkglibdir=lib32 + fi + + local usrpkglibdir=usr/${pkglibdir} + local libdir=usr/X11R6/${pkglibdir} + local drvdir=${libdir}/modules/drivers + local extdir=${libdir}/modules/extensions + local incdir=usr/include/GL + local sover=${PV} + local NV_ROOT="/usr/${inslibdir}/opengl/nvidia" + local NO_TLS_ROOT="${NV_ROOT}/no-tls" + local TLS_ROOT="${NV_ROOT}/tls" + local X11_LIB_DIR="/usr/${inslibdir}/xorg" + + if ! has_version x11-base/xorg-server ; then + X11_LIB_DIR="/usr/${inslibdir}" + fi + + if use x86-fbsd; then + # on FreeBSD everything is on obj/ + pkglibdir=obj + usrpkglibdir=obj + x11pkglibdir=obj + drvdir=obj + extdir=obj + + # don't ask me why the headers are there.. glxext.h is missing + incdir=doc + + # on FreeBSD it has just .1 suffix + sover=1 + fi + + # The GLX libraries + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover} + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover} + + dodir ${NO_TLS_ROOT} + donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover} + + if ! use x86-fbsd; then + donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover} + fi + + if want_tls ; then + dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + else + dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + fi + + if ! use x86-fbsd; then + # Not sure whether installing the .la file is neccessary; + # this is adopted from the `nvidia' ebuild + local ver1=$(get_version_component_range 1) + local ver2=$(get_version_component_range 2) + local ver3=$(get_version_component_range 3) + sed -e "s:\${PV}:${PV}:" \ + -e "s:\${ver1}:${ver1}:" \ + -e "s:\${ver2}:${ver2}:" \ + -e "s:\${ver3}:${ver3}:" \ + -e "s:\${libdir}:${inslibdir}:" \ + ${FILESDIR}/libGL.la-r2 > ${D}/${NV_ROOT}/lib/libGL.la + fi + + exeinto ${X11_LIB_DIR}/modules/drivers + + [[ -f ${drvdir}/nvidia_drv.so ]] && \ + doexe ${drvdir}/nvidia_drv.so + + insinto /usr/${inslibdir} + [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \ + doins ${libdir}/libXvMCNVIDIA.a + exeinto /usr/${inslibdir} + # fix Bug 131315 + [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \ + doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \ + dosym libXvMCNVIDIA.so.${PV} \ + /usr/${inslibdir}/libXvMCNVIDIA.so + + exeinto ${NV_ROOT}/extensions + [[ -f ${extdir}/libglx.so.${sover} ]] && \ + newexe ${extdir}/libglx.so.${sover} libglx.so + + # Includes + insinto ${NV_ROOT}/include + doins ${incdir}/*.h +} + +pkg_preinst() { + # Can we make up our minds ?!?!? + local NV_D=${D} + + if ! has_version x11-base/xorg-server ; then + for dir in lib lib32 lib64 ; do + if [[ -d ${NV_D}/usr/${dir}/xorg ]] ; then + mv ${NV_D}/usr/${dir}/xorg/* ${NV_D}/usr/${dir} + rmdir ${NV_D}/usr/${dir}/xorg + fi + done + fi + + # Clean the dinamic 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 x86-fbsd; then + linux-mod_pkg_postinst + fi + + #switch to the nvidia implementation + eselect opengl set --use-old nvidia + + echo + elog "To use the Nvidia GLX, run \"eselect opengl set nvidia\"" + echo + elog "You may also be interested in media-video/nvidia-settings" + echo + elog "nVidia has requested that any bug reports submitted have the" + elog "output of /usr/bin/nvidia-bug-report.sh included." + echo + elog "If you are having resolution problems, try disabling DynamicTwinView." + echo +} + +want_tls() { + # For uclibc or anything non glibc, return false + has_version sys-libs/glibc || return 1 + + # Old versions of glibc were lt/no-tls only + has_version '=sys-libs/glibc-2.3.5' ; then + case ${CHOST/-*} in + i486|i586) return 1 ;; + esac + fi + + # These versions built linuxthreads version to support tls, too + has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0 + + return 1 +} + +pkg_postrm() { + if ! use x86-fbsd; then + linux-mod_pkg_postrm + fi + eselect opengl set --use-old xorg-x11 +} diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631-r1.ebuild similarity index 99% rename from x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631.ebuild rename to x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631-r1.ebuild index 8e53ba39424e..7ce29aaba296 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631.ebuild,v 1.5 2007/03/12 22:53:09 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9631-r1.ebuild,v 1.1 2007/03/13 22:40:40 eradicator Exp $ inherit eutils multilib versionator linux-mod flag-o-matic diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746-r1.ebuild new file mode 100644 index 000000000000..6c28aecf5de7 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746-r1.ebuild @@ -0,0 +1,441 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746-r1.ebuild,v 1.1 2007/03/13 22:40:40 eradicator Exp $ + +inherit eutils multilib versionator linux-mod flag-o-matic + +NV_V="${PV/1.0./1.0-}" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${NV_V}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${NV_V}" + +DESCRIPTION="NVIDIA X11 driver and GLX libraries" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-pkg0.run ) + amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-pkg2.run ) + x86-fbsd? ( http://us.download.nvidia.com/freebsd/${NV_V}/${X86_FBSD_NV_PACKAGE}.tar.gz )" + +LICENSE="NVIDIA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" +RESTRICT="strip multilib-pkg-force" + +DEPEND="kernel_linux? ( virtual/linux-sources )" +RDEPEND="kernel_linux? ( virtual/modutils ) + x11-base/xorg-server + media-libs/mesa + app-admin/eselect-opengl + kernel_FreeBSD? ( !media-video/nvidia-freebsd ) + !app-emulation/emul-linux-x86-nvidia + !x11-drivers/nvidia-legacy-drivers" + +QA_TEXTRELS_x86="usr/lib/xorg/libXvMCNVIDIA.so.${PV} + usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib/libXvMCNVIDIA.so.${PV} + usr/lib/xorg/modules/drivers/nvidia_drv.so + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko + usr/lib/opengl/nvidia/lib/libGL.so.1 + usr/lib/opengl/nvidia/lib/libGLcore.so.1 + usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.1 + usr/lib/opengl/nvidia/extensions/libglx.so + usr/lib/xorg/modules/drivers/nvidia_drv.so" + +QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV} + usr/lib/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib/opengl/nvidia/extensions/libglx.so" + +QA_TEXTRELS_amd64="usr/lib64/xorg/libXvMCNVIDIA.so.${PV} + usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib64/libXvMCNVIDIA.so.${PV} + usr/lib64/xorg/modules/drivers/nvidia_drv.so + usr/lib64/opengl/nvidia/extensions/libglx.so + usr/lib32/xorg/libXvMCNVIDIA.so.${PV} + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV} + usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV} + usr/lib32/libXvMCNVIDIA.so.${PV} + usr/lib32/xorg/modules/drivers/nvidia_drv.so + usr/lib32/opengl/nvidia/extensions/libglx.so" + +QA_WX_LOAD_amd64="usr/lib64/opengl/nvidia/lib/libGL.so.${PV} + usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib64/opengl/nvidia/extensions/libglx.so + usr/lib32/opengl/nvidia/lib/libGL.so.${PV} + usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV} + usr/lib32/opengl/nvidia/extensions/libglx.so" + +export _POSIX2_VERSION="199209" + +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}/usr/src/nv" + +# On BSD userland it wants real make command +MAKE="make" + +mtrr_check() { + ebegin "Checking for MTRR support" + linux_chkconfig_present MTRR + eend $? + + if [[ $? -ne 0 ]] ; then + eerror "This version needs MTRR support for most chipsets!" + 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 +} + +pkg_setup() { + 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 x86-fbsd; then + linux-mod_pkg_setup + MODULE_NAMES="nvidia(video:${S})" + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}" + mtrr_check + fi +} + +src_unpack() { + local NV_PATCH_PREFIX="${FILESDIR}/${PV}/NVIDIA-${PV}" + + if ! use x86-fbsd; then + if [[ ${KV_MINOR} -eq 6 && ${KV_PATCH} -lt 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 + fi + + if ! use x86-fbsd; then + cd "${WORKDIR}" + bash ${DISTDIR}/${NV_PACKAGE}${PKG_V}.run --extract-only + else + unpack ${A} + fi + + # Patches go below here, add breif description + use x86-fbsd \ + && cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/doc" \ + || cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}" + # 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 x86-fbsd; then + # Quiet down warnings the user do not need to see + sed -i \ + -e 's:-Wpointer-arith::g' \ + -e 's:-Wsign-compare::g' \ + "${S}"/Makefile.kbuild + + # If you set this then it's your own fault when stuff breaks :) + [[ -n ${USE_CRAZY_OPTS} ]] && sed -i "s:-O:${CFLAGS}:" Makefile.* + + # If greater than 2.6.5 use M= instead of SUBDIR= + cd "${S}"; convert_to_m 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. + if use x86-fbsd; then + cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/src" + echo LDFLAGS="$(raw-ldflags)" + MAKE="$(get_bmake)" emake CC="$(tc-getCC)" LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die + else + linux-mod_src_compile + fi +} + +src_install() { + local MLTEST=$(type dyn_unpack) + + cd "${WORKDIR}"/${NV_PACKAGE}${PKG_V} + + if ! use x86-fbsd; then + linux-mod_src_install + + # Add the aliases + sed -e 's:\${PACKAGE}:'${PF}':g' "${FILESDIR}"/nvidia > "${WORKDIR}"/nvidia + insinto /etc/modules.d + newins "${WORKDIR}"/nvidia nvidia || die + else + insinto /boot/modules + doins "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.kld" + + exeinto /boot/modules + doexe "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.ko" + fi + + if [[ "${MLTEST/set_abi}" == "${MLTEST}" ]] && has_multilib_profile ; then + local OABI=${ABI} + for ABI in $(get_install_abis) ; do + src_install-libs + done + ABI=${OABI} + unset OABI + elif use amd64 ; then + src_install-libs lib32 $(get_multilibdir) + src_install-libs lib $(get_libdir) + + rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/include + rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/extensions + else + src_install-libs + fi + + is_final_abi || return 0 + + if ! use x86-fbsd; then + # Docs, remove nvidia-settings as provided by media-video/nvidia-settings + newdoc usr/share/doc/README.txt README + dodoc usr/share/doc/Copyrights usr/share/doc/NVIDIA_Changelog + dodoc usr/share/doc/XF86Config.sample + dohtml usr/share/doc/html/* + # nVidia want bug reports using this script + dobin usr/bin/nvidia-bug-report.sh + else + dodoc doc/{README,XF86Config.sample,Copyrights} + dohtml doc/html/* + fi +} + +# Install nvidia library: +# the first parameter is the place where to install it +# the second paramis the base name of the library +# the third parameter is the provided soversion +donvidia() { + dodir $1 + exeinto $1 + + libname=$(basename $2) + + doexe $2.$3 + dosym ${libname}.$3 $1/${libname} + + [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1 +} + +src_install-libs() { + local pkglibdir=lib + local inslibdir=$(get_libdir) + + if [[ ${#} -eq 2 ]] ; then + pkglibdir=${1} + inslibdir=${2} + elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then + pkglibdir=lib32 + fi + + local usrpkglibdir=usr/${pkglibdir} + local libdir=usr/X11R6/${pkglibdir} + local modules=${libdir}/modules + local drvdir=${modules}/drivers + local extdir=${modules}/extensions + local incdir=usr/include/GL + local sover=${PV} + local NV_ROOT="/usr/${inslibdir}/opengl/nvidia" + local NO_TLS_ROOT="${NV_ROOT}/no-tls" + local TLS_ROOT="${NV_ROOT}/tls" + local X11_LIB_DIR="/usr/${inslibdir}/xorg" + + if ! has_version x11-base/xorg-server ; then + X11_LIB_DIR="/usr/${inslibdir}" + fi + + if use x86-fbsd; then + # on FreeBSD everything is on obj/ + pkglibdir=obj + usrpkglibdir=obj + x11pkglibdir=obj + drvdir=obj + extdir=obj + + # don't ask me why the headers are there.. glxext.h is missing + incdir=doc + + # on FreeBSD it has just .1 suffix + sover=1 + fi + + # The GLX libraries + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover} + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover} + + dodir ${NO_TLS_ROOT} + donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover} + + if ! use x86-fbsd; then + donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover} + fi + + if want_tls ; then + dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + else + dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib + dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib + fi + + if ! use x86-fbsd; then + # Not sure whether installing the .la file is neccessary; + # this is adopted from the `nvidia' ebuild + local ver1=$(get_version_component_range 1) + local ver2=$(get_version_component_range 2) + local ver3=$(get_version_component_range 3) + sed -e "s:\${PV}:${PV}:" \ + -e "s:\${ver1}:${ver1}:" \ + -e "s:\${ver2}:${ver2}:" \ + -e "s:\${ver3}:${ver3}:" \ + -e "s:\${libdir}:${inslibdir}:" \ + "${FILESDIR}"/libGL.la-r2 > "${D}"/${NV_ROOT}/lib/libGL.la + fi + + exeinto ${X11_LIB_DIR}/modules/drivers + + [[ -f ${drvdir}/nvidia_drv.so ]] && \ + doexe ${drvdir}/nvidia_drv.so + + insinto /usr/${inslibdir} + [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \ + doins ${libdir}/libXvMCNVIDIA.a + exeinto /usr/${inslibdir} + # fix Bug 131315 + [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \ + doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \ + dosym libXvMCNVIDIA.so.${PV} \ + /usr/${inslibdir}/libXvMCNVIDIA.so + + exeinto ${NV_ROOT}/extensions + [[ -f ${modules}/libnvidia-wfb.so.${sover} ]] && \ + newexe ${modules}/libnvidia-wfb.so.${sover} libwfb.so + [[ -f ${extdir}/libglx.so.${sover} ]] && \ + newexe ${extdir}/libglx.so.${sover} libglx.so + + # Includes + insinto ${NV_ROOT}/include + doins ${incdir}/*.h +} + +pkg_preinst() { + # Can we make up our minds ?!?!? + local NV_D=${D} + + if ! has_version x11-base/xorg-server ; then + for dir in lib lib32 lib64 ; do + if [[ -d ${NV_D}/usr/${dir}/xorg ]] ; then + mv ${NV_D}/usr/${dir}/xorg/* ${NV_D}/usr/${dir} + rmdir ${NV_D}/usr/${dir}/xorg + fi + done + fi + + # Clean the dinamic 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 x86-fbsd; then + linux-mod_pkg_postinst + fi + + #switch to the nvidia implementation + eselect opengl set --use-old nvidia + + echo + elog "To use the Nvidia GLX, run \"eselect opengl set nvidia\"" + echo + einfo "You may also be interested in media-video/nvidia-settings" + echo + elog "nVidia has requested that any bug reports submitted have the" + elog "output of /usr/bin/nvidia-bug-report.sh included." + echo + elog "To work with compiz, you must enable the AddARGBGLXVisuals option." + echo + elog "If you are having resolution problems, try disabling DynamicTwinView." + echo +} + +want_tls() { + # For uclibc or anything non glibc, return false + has_version sys-libs/glibc || return 1 + + # Old versions of glibc were lt/no-tls only + has_version '=sys-libs/glibc-2.3.5' ; then + case ${CHOST/-*} in + i486|i586) return 1 ;; + esac + fi + + # These versions built linuxthreads version to support tls, too + has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0 + + return 1 +} + +pkg_postrm() { + if ! use x86-fbsd; then + linux-mod_pkg_postrm + fi + eselect opengl set --use-old xorg-x11 +}