diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2012-05-06 08:36:12 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2012-05-06 08:36:12 +0000 |
commit | 3f6fca9904af409ffc82dedc7c400e4f64bca5fb (patch) | |
tree | aba79f0a23114aa1124f29b5272032cf07205bc3 /x11-drivers/ati-drivers | |
parent | Add blocker for !<sys-apps/shadow-4.1.5-r1 due to file collisions with /etc/p... (diff) | |
download | historical-3f6fca9904af409ffc82dedc7c400e4f64bca5fb.tar.gz historical-3f6fca9904af409ffc82dedc7c400e4f64bca5fb.tar.bz2 historical-3f6fca9904af409ffc82dedc7c400e4f64bca5fb.zip |
Cleanup the list of available versions as 11.x does not even build with 3.x series of kernel.
Package-Manager: portage-2.2.0_alpha101/cvs/Linux x86_64
Diffstat (limited to 'x11-drivers/ati-drivers')
-rw-r--r-- | x11-drivers/ati-drivers/ChangeLog | 11 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/Manifest | 56 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.10.ebuild | 572 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.11.ebuild | 602 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.12-r1.ebuild | 613 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.12.ebuild | 602 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.4.ebuild | 556 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.5.ebuild | 580 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.6.ebuild | 577 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.7.ebuild | 583 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.8.ebuild | 583 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-11.9.ebuild | 572 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild | 603 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-12.1.ebuild | 613 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-12.3.ebuild | 603 |
15 files changed, 26 insertions, 7700 deletions
diff --git a/x11-drivers/ati-drivers/ChangeLog b/x11-drivers/ati-drivers/ChangeLog index a6592614bd27..b528fbe660b8 100644 --- a/x11-drivers/ati-drivers/ChangeLog +++ b/x11-drivers/ati-drivers/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for x11-drivers/ati-drivers # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.279 2012/05/05 11:20:56 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.280 2012/05/06 08:36:12 scarabeus Exp $ + + 06 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> -ati-drivers-11.10.ebuild, + -ati-drivers-11.11.ebuild, -ati-drivers-11.12-r1.ebuild, + -ati-drivers-11.12.ebuild, -ati-drivers-11.4.ebuild, -ati-drivers-11.5.ebuild, + -ati-drivers-11.6.ebuild, -ati-drivers-11.7.ebuild, -ati-drivers-11.8.ebuild, + -ati-drivers-11.9.ebuild, -ati-drivers-12.1-r1.ebuild, + -ati-drivers-12.1.ebuild, -ati-drivers-12.3.ebuild: + Cleanup the list of available versions as 11.x does not even build with 3.x + series of kernel. 05 May 2012; Markos Chandras <hwoarang@gentoo.org> ati-drivers-12.4.ebuild: Stable on amd64 wrt bug #414609 diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest index 9685153764c6..42f1263aed44 100644 --- a/x11-drivers/ati-drivers/Manifest +++ b/x11-drivers/ati-drivers/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 +Hash: SHA1 AUX amd-drivers-3.2.7.1.patch 560 RMD160 d3703be2c979c784af325072c7eb9d04f52754c5 SHA1 d1d45998ac2588670ead6e6a1ce6dd29fef0c808 SHA256 7cc315754a47fbda6bf36bcee01780da7c19535c4f6ec1cccc556e9a7b32d263 AUX ati-drivers-12.2-redefine-WARN.patch 1316 RMD160 13d135adc00eee61665590a34a3c8f0dcd607b1b SHA1 65f979af2e1807cfbd98c7407940693a8f4f72b0 SHA256 f7d8ad3307823925cf8b4c6540db17a51553e48dd008793fc026803bb2aa1ced @@ -9,50 +9,26 @@ AUX ati-drivers-redefine-WARN.patch 1135 RMD160 b9fb1cd4e15b7fce101367f7335b86af AUX ati-powermode-opt-path-2.patch 1634 RMD160 a9c4ecc90a748f94282521a555ad7b64db242249 SHA1 3f61d804710bd88ee45cd3a9e3672b356359dd73 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 AUX atieventsd.init 533 RMD160 b9b95a8a3f32dcafba3e5fa08d6d1053e831291a SHA1 982ffdb8064785c8b96fb0213ad7892ac918b5d7 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 AUX switchlibGL 1349 RMD160 d3c9f36fabf65b21f26456e303d8127779fd1bd2 SHA1 277a549afd62fdeae9f09022a8e55ceabf180f9f SHA256 a4aa2107fdb903da77fea432bc809a1155e213db460fdec72fd1c3c7cc0d13a0 -DIST amd-driver-installer-12-1-x86.x86_64.run 106085279 RMD160 13fd67ad49cb1bf0aa3a0ca92da52c1a4ba93dc1 SHA1 8262b2a66cf87063713852c8f3a20bc995be47e6 SHA256 8d76700e0db68f74f735808ee7fd446cb5072734ba6ec03f2dd82c05ebfdc81d DIST amd-driver-installer-12-2-x86.x86_64.run 107213014 RMD160 b3966f0ad6c756f6d4fd77cde5761a86ef2ef3b2 SHA1 24bbaa07dbc8354a0393c4ceeed552d7ac37b09d SHA256 054796cbf2d99e4b545d062ce8eabfd973e74e2e21a159092816238b001618fd -DIST amd-driver-installer-12-3-x86.x86_64.run 108029053 RMD160 176b4544269671fc10bff8caa0663d25893d7b19 SHA1 f62146ed5653ce81dca578e0252c7f32d55627be SHA256 5f90c7e472ca0095efc16097ac7bcda846be0e980cc4d3e588cc4089efe8fb57 DIST amd-driver-installer-12-4-x86.x86_64.run 108360519 RMD160 78eae42f40f211bba8e62b9896146f5a4c1bdc0d SHA1 7db947ee20929ba24da03bad2624538cb55589b6 SHA256 7f3ba3d96eba30fc09aec03ba72f5482d3b192bb0ea63a5e7b79454b053cb63c -DIST ati-driver-installer-11-10-x86.x86_64.run 77926379 RMD160 bef9aa8ff1bd366b5e8505789e87ac268ebc6807 SHA1 406e0a69f1e9dfd899bbcc6fa00d00adfba077cb SHA256 a245e0305051313767fef1be88693702fccfb3f11c18a98f61c233af17e85f9e -DIST ati-driver-installer-11-11-x86.x86_64.run 97090080 RMD160 07c19b48ccb6d7d95d585545ec3a3038fdfb65bd SHA1 7de856b9464e617fa3b880de6b45ef9ec56e6336 SHA256 fcd51cdc0c7572d443f5ce54576888f09efaced10b12ccf9fa775c81eaade013 -DIST ati-driver-installer-11-12-x86.x86_64.run 99618112 RMD160 70ae7407bab182c7fc9b1d4a177c2e1493ffb508 SHA1 d20a185165eff1b6d9631b7e3ed7201eeda9312a SHA256 0179d1f0425036e50b637e5153b0c64b25836d09e9d22bc50edfbdf6aed32b42 -DIST ati-driver-installer-11-4-x86.x86_64.run 75710303 RMD160 983d8ec36c154016c3b6ab172ba2e8cccde4faff SHA1 013d99ee025e1e97d01f6f68475c5a4b1df283cd SHA256 6101bf01c9bec7fab95595c0e19741f3692cc2cfd8e9b905f4f0df5b445ae45e -DIST ati-driver-installer-11-5-x86.x86_64.run 74585606 RMD160 1ada69dc9d3a4514dc658481e4db34671668b114 SHA1 e715d28bc0e3284b6e06d698fd7f7c547b625707 SHA256 052d496c7931bf201ecd4fce6afc9d8df454ad50f71fd695053b404239296f58 -DIST ati-driver-installer-11-6-x86.x86_64.run 75503458 RMD160 fce2a7c1b7c213f26befc2beab47eefdcfd0059f SHA1 463dba00b419f761db2bf97088e6cfbcfc63c9fa SHA256 3dbb7cf1a5493588d872eb29b7376eb5db3913c4f35d631c3183d168eed1f67f -DIST ati-driver-installer-11-7-x86.x86_64.run 75416437 RMD160 7f693992598e58ececfda220b0c77d5c482db072 SHA1 014254982bfe98cb7990fad2ea31c8988f925c33 SHA256 f3ae3682429c7f728b62566fe2d9091b8de4f262efdc999e0b19b347d902e00f -DIST ati-driver-installer-11-8-x86.x86_64.run 75754239 RMD160 92e33779416228ef75fd8bc8790c5aebd2f3332f SHA1 807a5663b062a9cf6295ac8cf3dee7439aabda57 SHA256 71e0194daef7a50c6d0d3b5712b05375a003d452e39c754278336c3811a2acdf -DIST ati-driver-installer-11-9-x86.x86_64.run 76564617 RMD160 8631c510ace5a7d73c97064f8ca16ee9a6fe94e4 SHA1 e01caf1211fd3f9602017a340921aa1b9c38b802 SHA256 d9ad9c8e0bd250ac41c39d9b8e9f77efc82631f4bebacb82ddde982a86530d56 -EBUILD ati-drivers-11.10.ebuild 18184 RMD160 b5424f2978fa918fae6d3b91e39fbd5ac73c5055 SHA1 75f9078ed0d9034e582e2ca211cb3626c3c28947 SHA256 5168f7a6f9c86dd0d41fdb2e2390524410c3d2e04d2961de1c8e2606de0beb01 -EBUILD ati-drivers-11.11.ebuild 19138 RMD160 e56e51a1d40c58630b6d85fa3be4877ba6d1ed47 SHA1 51fa0ab7a50356d64d9ff6e75aef7d962ff3b988 SHA256 c8d1b49c5b1136362e204b29deefa2c3f24e79c3349e5eca9549dfef00ab3692 -EBUILD ati-drivers-11.12-r1.ebuild 19558 RMD160 ca375bd2088824fca4a1baf74201c31128720992 SHA1 3de9eaa48e720d2ec70bfe72cf930ff6e66cff82 SHA256 0674a3846c4908f50b3e050062ac87333ea2894cb7bc26e2b2f5e57168bd2287 -EBUILD ati-drivers-11.12.ebuild 19142 RMD160 f96f24083b44ca3c384c7adc4152670affb3fff7 SHA1 64e7371060707cae071dd7ffe4fede193ee4b8db SHA256 5004406becd9efeae6e2d3ad6ee9412a605bea611cf77d239212f350ee346a7c -EBUILD ati-drivers-11.4.ebuild 17519 RMD160 91cc358252f88c4cfaec77384117907853a88791 SHA1 a262db426e121dc401588bb0b691fcf959162f54 SHA256 dc524e9832910ba6d8e75d4dfdcb3c7cf0dbdfe0fde8132f86a99726fe5e2c48 -EBUILD ati-drivers-11.5.ebuild 18366 RMD160 a2ebc6c386c8c92313fa225bb5e10870ba1e4a8e SHA1 e1db1a2241e4e7e7243f658a7d1c16cbeb4f43fd SHA256 9c02162b137b7fc230f0af100ab0c2e2fb53f23fcbe9e34c69589382c5921a2c -EBUILD ati-drivers-11.6.ebuild 18265 RMD160 d4d528340fd132a07f415e7c1397b1b3e162f2d9 SHA1 927f46c7e994dd40334a5998a9802efdc0042fe5 SHA256 fec6e4cfdee67e42dbf55a31f1f2470d5227f86bdbcd6e433de32bdd0277d2da -EBUILD ati-drivers-11.7.ebuild 18511 RMD160 b9f27982e72171c63044662562ccbce45e74d177 SHA1 0f43c043578f969475d423c11bcebd053d673b36 SHA256 54de74216f659cd5b1587134b7c0ba4a5b6255f39f63fefa55cfa21fe05b5b4d -EBUILD ati-drivers-11.8.ebuild 18507 RMD160 424c99bc46a516acc32d0379da7f5fa4ba854646 SHA1 eaccbb3187a55423e5defa93660d595b22dd2c1e SHA256 648d539eae0d9f0c689d5398275d8bf0a777dfc6797eef130b13388da2728ab5 -EBUILD ati-drivers-11.9.ebuild 18169 RMD160 04b4aa7a666db3e0225c60e9272e6ced68bc7732 SHA1 6a5183cbf112c075ea09a3bd9c1840e6742304ae SHA256 dc52aeb4a5d1792ede7c301a3b7cb7159cf266cfe19ed9de5517223e496e84de -EBUILD ati-drivers-12.1-r1.ebuild 19351 RMD160 d485de15782a470f024ebe34d9864723f3eb5c5f SHA1 bbb5f0492903d503e295e6cec45d8d9e15e97d00 SHA256 e4eb1f3f36d51e96f22f109523b511eb05d069d0a5f8906218dfab563735eec4 -EBUILD ati-drivers-12.1.ebuild 19525 RMD160 904acd77416affa3d44d1647691f5fad8d59db14 SHA1 0d6c447f9f893beb4afe91165b7e4a9e8518a119 SHA256 8f98eccd37226c063cba6ada0d8ad816a36130b38d9cb3d55783d86f524b4372 EBUILD ati-drivers-12.2.ebuild 19130 RMD160 4a76e718a4fd0f5affbdcab6e3c1817caa3a370e SHA1 e60c741b5264d845ba91d027ef1261b1e7bb40f2 SHA256 462c4800a3f4b59c42f88f500421c57c671f3fbd6029c4cba922beca7de669f7 -EBUILD ati-drivers-12.3.ebuild 19248 RMD160 61c81a6fc61c79c127d6f32e88bf56e0cd7fb323 SHA1 1690c63ec5f927d675c792712c7598a0f6946aa5 SHA256 4a9f2c8dc419cac989cc2300a06aa9f72a43cf9bb123f2dec8034a17bc846f72 EBUILD ati-drivers-12.4.ebuild 19645 RMD160 72e08ed1a8f187c79aeb7f26f703db2ca7e1f4bb SHA1 bd691f5b20e49633cc4c276ab678310151fd8c07 SHA256 f2ebcc52bf6058995cb3d3d7eb74f351e70d8d5ba712f57d5a581711ca2ce84b -MISC ChangeLog 75935 RMD160 0edc6eb41bf18dfaa443edfd9a7c130acc2d3723 SHA1 497383898f22b0710407d0a3653c30f14fc0705e SHA256 44ad997d2c962266a2c90238bd215e3db33d90884cfaa8159de16af3d468b330 +MISC ChangeLog 76448 RMD160 ae08c7fb86251c3c26ec6702f90e2e900f16b478 SHA1 cc027ae779e364303285daa59ab036325b470aab SHA256 21b4a745cc097aa9ba4a17eb500781d53a1b6aee1313a90e4ec4e8ee6b7dc80a MISC metadata.xml 789 RMD160 9a234fedd78ca28474f9f4bbdc52376838ed2dd9 SHA1 c07d53d61792d5a030b8bcabc4b55533ddb43778 SHA256 cc4c8b40b8c174fe8424badcd59ae5974b95c283a4c3dc59d1138b80dd010263 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) +Version: GnuPG v2.0.17 (GNU/Linux) -iQIcBAEBCgAGBQJPpQ0eAAoJEPqDWhW0r/LCOtEP/AvXTkHNxL229emlXLBPxiaJ -+ZVUM5BF4UNuZO/OQu8m9U9fhDbrMyNwfzCNiaYJVDgR3VcHjG6EtipuSF4WMj/d -xZ92oR6cVhK5uyVswo6tfaT3FRqgT3oPfdn1afLSJJvNYWqhgoiUedYiSJP8i1jl -mPnLCyOuCmGzYI/8mnJEWkbsu+0eC1q7S1eBMxSliiPar+NNhd7B1+jp+A5m+PUr -EuCzFmiVXa3NgTswTXJbZqtCELSfyA8fbyJRFV7ILE4l0VLgcInDusEFtsMZUTFD -HBJlGtOEybouMAZokx/1dFXeoUDYVW8D9IkOH/rE5E29CsGwNQbyzd3QkpZ7Bmbr -D3a5q1/Zem23f6nxiC56BWbYpsAFJTNCxxwL9tBGE022pL+eqoTfzA6SLQZ6jF3c -ihU9DjrPt4xU/00HVKsRD/Scgrq20BSA57CEZfpwwEBIOT69B/N5uwq5th5M6WOP -GAxSiW7LwpxDClaEEj1wdcC1e3Q6nQTtn0LsDibJMAexLoOL88TqhAZitL1hdVVe -zTeqhCN5B5ymDEWi8i/MexXGcKER4VDRIBp99C8Chj8wF2oFQtCpJZ+e82UsIMhH -Tb6+FPvvPe6tP3DLjrHHZ8a4iLFWUhQB6X2RPqd2wVi3XtYwXVNPed+dXsBoS+9q -dZ82n/0K8YwwixQJPVeA -=gR1p +iQIcBAEBAgAGBQJPpjgFAAoJEOSiRoyO7jvo+CkQAKv2UA08ZMMdoYb6gsaVFB78 +fASUhijoW4V8jt9P+REi7d5n35saz16HhnO3+XXPm0vtxsJaVq3jhEWGvhodYbyc +MJYLBQTPpr6m2+BQn7W5UABjnJHdDPjLC1z4j3a3b4x0JNc5fi4DMsygvb42kWGn +Ih00Mp/CpmpVjSSsGY0Oqx60YQBKV7ir1JuROpHPrLRNiBgEoT70rNqlZqFVNTNQ +209cB07H9+e/H2n9JoY0aqMYykl0EnB5bdh5yIy0ITYWA1JEEpURhb9na8hbfYi7 +1pfcIkUHaorbAurNePmHV/7opwG9xM3rRvmhnqJ2b23n1G3/xcycSCb6F0AS5AX+ +daZzGMERdKX5AEM9yts3qFmypeIkbtb6ks5TcoHqXUMY1ocPUge+Qd2ogGuauZQl +KO1pjieh1G+7IJBuw8biEmLYiqVvmHJpWSe3saDMQRw8Nn2Hbl+3h62ruP9FiXRB +kJ60XGe/JmHYB3nDy3SiWEXW3oEthwLfFZrZh4reKAS8bpl/aIOd/L+g8Cprfbpp +jQAoDGGDYYK4BJ/dXZKQf963/JQ7A/qAcK57cJAgyZRLAszn2lCuqs9f1Lv02jj1 +keKH7DY1kSqI6xR4/Yw3arL6yPW8WYwILPSi4/O4sYSQkUSEHTVIk6eRiSkGXmEw +YOyVqYx2rzRXNwuM9Fcd +=4eXM -----END PGP SIGNATURE----- diff --git a/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild deleted file mode 100644 index c83580669d66..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild +++ /dev/null @@ -1,572 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild,v 1.1 2011/10/31 19:34:18 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. -src_test() { :; } # no tests present - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests presentsrc_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild deleted file mode 100644 index 13bdeed3d046..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild +++ /dev/null @@ -1,602 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild,v 1.6 2011/12/27 21:01:56 maekke Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib opencl qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="amd64 x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) - opencl? ( - !>=x11-drivers/nvidia-drivers-195 - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. -src_test() { :; } # no tests present - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests presentsrc_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - use opencl && dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - # OpenCL - if use opencl ; then - insinto /etc/OpenCL/vendors/ - if [[ "${ABI}" == "amd64" ]] ; then - doins "${ARCH_DIR}"/etc/OpenCL/vendors/amdocl64.icd || die "doins failed" - else - doins "${ARCH_DIR}"/etc/OpenCL/vendors/amdocl32.icd || die "doins failed" - fi - fi - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - exeinto /usr/$(get_libdir) - if use opencl ; then - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/lib*.so* - else - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - fi - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - ewarn "This release of ati-drivers has a crashing bug when using Xv video." - ewarn "To avoid this problem, configure your video playback software for" - ewarn "OpenGL output. See https://bugs.gentoo.org/show_bug.cgi?id=391193" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.12-r1.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.12-r1.ebuild deleted file mode 100644 index e747bcd0f445..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.12-r1.ebuild +++ /dev/null @@ -1,613 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.12-r1.ebuild,v 1.1 2012/01/12 13:05:12 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib opencl pax_kernel qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) - opencl? ( - !>=x11-drivers/nvidia-drivers-195 - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/OpenCL/vendor/amd/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/OpenCL/vendor/amd/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - - # fix needed for at least hardened-sources, see bug #392753 - use pax_kernel && epatch "${FILESDIR}"/ati-drivers-redefine-WARN.patch - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests presentsrc_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - use opencl && dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - local oclsuffix=64 - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - local oclsuffix=32 - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - if use opencl ; then - exeinto /usr/$(get_libdir)/OpenCL/vendor/amd - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so* - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so* - fi - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - # OpenCL vendor files - if use opencl ; then - insinto /etc/OpenCL/vendors/ - cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF - /usr/$(get_libdir)/OpenCL/vendor/amd/libamdocl${oclsuffix}.so - EOF - doins "${T}"/amdocl${oclsuffix}.icd - - # OpenCL envd file until eselect-opencl is in place - cat > "${T}"/35amdocl${oclsuffix} <<-EOF - LDPATH="/usr/$(get_libdir)/OpenCL/vendor/amd" - EOF - doenvd "${T}"/35amdocl${oclsuffix} || die "doenvd failed" - fi - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - ewarn "This release of ati-drivers has a crashing bug when using Xv video." - ewarn "To avoid this problem, configure your video playback software for" - ewarn "OpenGL output. See https://bugs.gentoo.org/show_bug.cgi?id=391193" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild deleted file mode 100644 index e8b6a84d7bf8..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild +++ /dev/null @@ -1,602 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild,v 1.1 2011/12/15 17:07:33 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib opencl qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) - opencl? ( - !>=x11-drivers/nvidia-drivers-195 - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. -src_test() { :; } # no tests present - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests presentsrc_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - use opencl && dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - # OpenCL - if use opencl ; then - insinto /etc/OpenCL/vendors/ - if [[ "${ABI}" == "amd64" ]] ; then - doins "${ARCH_DIR}"/etc/OpenCL/vendors/amdocl64.icd || die "doins failed" - else - doins "${ARCH_DIR}"/etc/OpenCL/vendors/amdocl32.icd || die "doins failed" - fi - fi - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - exeinto /usr/$(get_libdir) - if use opencl ; then - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/lib*.so* - else - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - fi - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - ewarn "This release of ati-drivers has a crashing bug when using Xv video." - ewarn "To avoid this problem, configure your video playback software for" - ewarn "OpenGL output. See https://bugs.gentoo.org/show_bug.cgi?id=391193" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.4.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.4.ebuild deleted file mode 100644 index f44d02ef5cae..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.4.ebuild +++ /dev/null @@ -1,556 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.4.ebuild,v 1.2 2011/06/06 06:47:00 robbat2 Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - !x11-drivers/ati-drivers:0 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is -ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # Fix a known compilation error - epatch "${FILESDIR}"/ati-drivers-fix_compilation-bug-297322.patch - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # lib. - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed in src_install-libs. - doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -not -name '*.so*') - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/libglx.so - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.5.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.5.ebuild deleted file mode 100644 index a544220e9330..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.5.ebuild +++ /dev/null @@ -1,580 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.5.ebuild,v 1.3 2011/06/06 06:47:00 robbat2 Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - !x11-drivers/ati-drivers:0 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is -ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # Fix a known compilation error - epatch "${FILESDIR}"/ati-drivers-fix_compilation-bug-297322.patch - - # Experimental 2.6.39 support - if kernel_is -ge 2 6 39 ; then - epatch "${FILESDIR}"/ati-drivers-2.6.39.patch || die "epatch failed" - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # lib. - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed in src_install-libs. - doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -not -name '*.so*') - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - local alllibdir="$(get_libdir)" - use multilib && alllibdir="lib64 lib32" - for libdir in ${alllibdir} - do - dosym /usr/${libdir}/opengl/xorg-x11/lib/libGL.so.1.2 \ - /usr/${libdir}/fglrx/libGL.so.1.2 - dosym ./libGL.so.1.2 /usr/${libdir}/fglrx/fglrx-libGL.so.1.2 - done -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2 \ - ${ATI_ROOT}/lib/FGL.renamed.libGL.so.1.2 - dosym ./libGL.so.1.2 ${ATI_ROOT}/lib/fglrx-libGL.so.1.2 - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/extensions/libglx.so \ - ${ATI_ROOT}/extensions/FGL.renamed.libglx.so - dosym fglrx-libglx.so ${ATI_ROOT}/extensions/libglx.so - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild deleted file mode 100644 index 2c551a35736b..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild +++ /dev/null @@ -1,577 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild,v 1.3 2011/07/13 20:06:39 maekke Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="amd64 x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - !x11-drivers/ati-drivers:0 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # Experimental 2.6.39 support - if kernel_is -ge 2 6 39 ; then - epatch "${FILESDIR}"/ati-drivers-2.6.39.patch || die "epatch failed" - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - local alllibdir="$(get_libdir)" - use multilib && alllibdir="lib64 lib32" - for libdir in ${alllibdir} - do - dosym /usr/${libdir}/opengl/xorg-x11/lib/libGL.so.1.2 \ - /usr/${libdir}/fglrx/libGL.so.1.2 - dosym ./libGL.so.1.2 /usr/${libdir}/fglrx/fglrx-libGL.so.1.2 - done -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2 \ - ${ATI_ROOT}/lib/FGL.renamed.libGL.so.1.2 - dosym ./libGL.so.1.2 ${ATI_ROOT}/lib/fglrx-libGL.so.1.2 - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/extensions/libglx.so \ - ${ATI_ROOT}/extensions/FGL.renamed.libglx.so - dosym fglrx-libglx.so ${ATI_ROOT}/extensions/libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.7.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.7.ebuild deleted file mode 100644 index 4aa0c4b31eea..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.7.ebuild +++ /dev/null @@ -1,583 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.7.ebuild,v 1.1 2011/08/11 14:48:18 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - !x11-drivers/ati-drivers:0 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - local alllibdir="$(get_libdir)" - use multilib && alllibdir="lib64 lib32" - for libdir in ${alllibdir} - do - dosym /usr/${libdir}/opengl/xorg-x11/lib/libGL.so.1.2 \ - /usr/${libdir}/fglrx/libGL.so.1.2 - dosym ./libGL.so.1.2 /usr/${libdir}/fglrx/fglrx-libGL.so.1.2 - done -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2 \ - ${ATI_ROOT}/lib/FGL.renamed.libGL.so.1.2 - dosym ./libGL.so.1.2 ${ATI_ROOT}/lib/fglrx-libGL.so.1.2 - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/extensions/libglx.so \ - ${ATI_ROOT}/extensions/FGL.renamed.libglx.so - dosym fglrx-libglx.so ${ATI_ROOT}/extensions/libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild deleted file mode 100644 index 86bb3ef1f6dc..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild +++ /dev/null @@ -1,583 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild,v 1.3 2011/09/04 12:07:16 maekke Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="amd64 x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - !x11-drivers/ati-drivers:0 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - local alllibdir="$(get_libdir)" - use multilib && alllibdir="lib64 lib32" - for libdir in ${alllibdir} - do - dosym /usr/${libdir}/opengl/xorg-x11/lib/libGL.so.1.2 \ - /usr/${libdir}/fglrx/libGL.so.1.2 - dosym ./libGL.so.1.2 /usr/${libdir}/fglrx/fglrx-libGL.so.1.2 - done -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2 \ - ${ATI_ROOT}/lib/FGL.renamed.libGL.so.1.2 - dosym ./libGL.so.1.2 ${ATI_ROOT}/lib/fglrx-libGL.so.1.2 - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - # PowerXpress stuff - dosym /usr/$(get_libdir)/opengl/xorg-x11/extensions/libglx.so \ - ${ATI_ROOT}/extensions/FGL.renamed.libglx.so - dosym fglrx-libglx.so ${ATI_ROOT}/extensions/libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild deleted file mode 100644 index d1701cf338c0..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild +++ /dev/null @@ -1,572 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild,v 1.1 2011/10/02 02:28:03 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.ati.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.10.99 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( app-emulation/emul-linux-x86-opengl ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - app-portage/portage-utils - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/fglrxinfo - opt/sbin/atieventsd - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the ATI Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. -src_test() { :; } # no tests present - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests presentsrc_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "newexe switchlibGL failed" - dosym ./switchlibGL /usr/$(get_libdir)/fglrx/switchlibglx || die \ - "dosym switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild deleted file mode 100644 index 23c2d3eff42a..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild +++ /dev/null @@ -1,603 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild,v 1.3 2012/02/07 15:53:37 xarthisius Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for radeon r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.amd.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib pax_kernel qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49 - >=app-admin/eselect-opengl-1.0.7 - app-admin/eselect-opencl - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the AMD Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - - # fix needed for at least hardened-sources, see bug #392753 - use pax_kernel && epatch "${FILESDIR}"/ati-drivers-redefine-WARN.patch - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'AMD Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - local oclsuffix=64 - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - local oclsuffix=32 - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - exeinto /usr/$(get_libdir)/OpenCL/vendors/amd - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so* - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so* - dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - # OpenCL vendor files - insinto /etc/OpenCL/vendors/ - cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF - /usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so - EOF - doins "${T}"/amdocl${oclsuffix}.icd - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to AMD OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - ewarn "This release of ati-drivers has a crashing bug when using Xv video." - ewarn "To avoid this problem, configure your video playback software for" - ewarn "OpenGL output. See https://bugs.gentoo.org/show_bug.cgi?id=391193" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati - "${ROOT}"/usr/bin/eselect opencl set --use-old amd -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-12.1.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.1.ebuild deleted file mode 100644 index 4d75a4db3ba9..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-12.1.ebuild +++ /dev/null @@ -1,613 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-12.1.ebuild,v 1.1 2012/01/30 12:47:15 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for radeon r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.amd.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib opencl pax_kernel qt4" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49 - >=app-admin/eselect-opengl-1.0.7 - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) - opencl? ( - !>=x11-drivers/nvidia-drivers-195 - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/OpenCL/vendor/amd/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/OpenCL/vendor/amd/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the AMD Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - - # fix needed for at least hardened-sources, see bug #392753 - use pax_kernel && epatch "${FILESDIR}"/ati-drivers-redefine-WARN.patch - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - use opencl && dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'AMD Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - local oclsuffix=64 - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - local oclsuffix=32 - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - if use opencl ; then - exeinto /usr/$(get_libdir)/OpenCL/vendor/amd - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so* - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so* - fi - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - # OpenCL vendor files - if use opencl ; then - insinto /etc/OpenCL/vendors/ - cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF - /usr/$(get_libdir)/OpenCL/vendor/amd/libamdocl${oclsuffix}.so - EOF - doins "${T}"/amdocl${oclsuffix}.icd - - # OpenCL envd file until eselect-opencl is in place - cat > "${T}"/35amdocl${oclsuffix} <<-EOF - LDPATH="/usr/$(get_libdir)/OpenCL/vendor/amd" - EOF - doenvd "${T}"/35amdocl${oclsuffix} || die "doenvd failed" - fi - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done -} - -pkg_postinst() { - elog "To switch to AMD OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - ewarn "This release of ati-drivers has a crashing bug when using Xv video." - ewarn "To avoid this problem, configure your video playback software for" - ewarn "OpenGL output. See https://bugs.gentoo.org/show_bug.cgi?id=391193" - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild deleted file mode 100644 index 2759d6d6d6cd..000000000000 --- a/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild +++ /dev/null @@ -1,603 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild,v 1.1 2012/03/28 19:44:49 chithanh Exp $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for radeon r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.amd.com" -# 8.ble will be used for beta releases. -if [[ $(get_major_version) -gt 8 ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug +modules multilib pax_kernel qt4 static-libs" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND=" - <=x11-base/xorg-server-1.11.49[-minimal] - >=app-admin/eselect-opengl-1.0.7 - app-admin/eselect-opencl - sys-power/acpid - x11-apps/xauth - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - multilib? ( - app-emulation/emul-linux-x86-opengl - app-emulation/emul-linux-x86-xlibs - ) - qt4? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXxf86vm - x11-libs/qt-core - x11-libs/qt-gui - ) -" - -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/xineramaproto - x11-libs/libXtst - sys-apps/findutils - app-misc/pax-utils -" - -EMULTILIB_PKG="true" - -S="${WORKDIR}" - -# QA Silencing -QA_TEXTRELS=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/libatiadlxx.so - usr/lib*/xorg/modules/glesx.so - usr/lib*/libaticaldd.so - usr/lib*/dri/fglrx_dri.so -" - -QA_EXECSTACK=" - opt/bin/atiode - opt/bin/amdcccle - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_WX_LOAD=" - usr/lib*/opengl/ati/lib/libGL.so.1.2 - usr/lib*/dri/fglrx_dri.so -" - -QA_PRESTRIPPED=" - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so -" - -QA_SONAME=" - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so -" - -QA_DT_HASH=" - opt/bin/amdcccle - opt/bin/aticonfig - opt/bin/atiodcli - opt/bin/atiode - opt/bin/clinfo - opt/bin/fglrxinfo - opt/sbin/atieventsd - opt/sbin/amdnotifyui - usr/lib\(32\|64\)\?/libaticalcl.so - usr/lib\(32\|64\)\?/libaticalrt.so - usr/lib\(32\|64\)\?/libatiuki.so.1.0 - usr/lib\(32\|64\)\?/libatiadlxx.so - usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0 - usr/lib\(32\|64\)\?/libXvBAW.so.1.0 - usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0 - usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so - usr/lib\(32\|64\)\?/xorg/modules/glesx.so - usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so - usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so - usr/lib\(32\|64\)\?/libaticaldd.so - usr/lib\(32\|64\)\?/dri/fglrx_dri.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so - usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so - usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2 - usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2 - usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so - usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1 -" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - 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'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - if use modules; then - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config - fi -} - -pkg_setup() { - if use modules; then - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - fi - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - # get the xorg-server version and set BASE_DIR for that - BASE_DIR="${S}/xpic" - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "r600 chipset and newer." - elog "This represent the AMD Radeon HD series at this moment." - elog - elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ $(get_major_version) -gt 8 ]]; then - # Switching to a standard way to extract the files since otherwise no signature file - # would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - else - unpack ${A} - fi -} - -src_prepare() { - # All kernel options for prepare are ment to be in here - if use modules; then - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - fi - - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \ - || die "bin rm failed" - - # in this version amdcccle isn't static, thus we depend on qt4 - use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle - - # ACPI fixups - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add function to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - - # fix needed for at least hardened-sources, see bug #392753 - use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch - - cd "${MODULE_DIR}" - - # bugged fglrx build system, this file should be copied by hand - cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - cd "${S}" - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - use modules && linux-mod_src_compile - - ebegin "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - eend $? -} - -src_test() { :; } # no tests present - -src_install() { - use modules && linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" || die - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - 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 - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui - dobin "${ARCH_DIR}"/usr/bin/clinfo - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # Common files. - # etc. - insinto /etc/ati - exeinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh - - # include. - insinto /usr - doins -r ${FOLDER_PREFIX}usr/include - insinto /usr/include/X11/extensions - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin ${FOLDER_PREFIX}usr/sbin/* - - # data files for the control panel. - if use qt4 ; then - insinto /usr/share - doins -r ${FOLDER_PREFIX}usr/share/ati - insinto /usr/share/pixmaps - doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm - make_desktop_entry amdcccle 'AMD Catalyst Control Center' \ - ccc_large System - fi - - # doc. - dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx - - doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 - - pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd > /dev/null - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - # Gentoo-specific stuff: - newinitd "${FILESDIR}"/atieventsd.init atieventsd - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - - # PowerXpress stuff - exeinto /usr/$(get_libdir)/fglrx - doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed" - cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx - doexe "${T}"/switchlibglx || die "doexe switchlibglx failed" -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - local oclsuffix=64 - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - local oclsuffix=32 - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \ - libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so - mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so - - # other libs - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed some row above - doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \ - -maxdepth 1 -type f -not -name '*.so*') - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal and OpenCL libraries - exeinto /usr/$(get_libdir)/OpenCL/vendors/amd - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so* - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so* - dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* - - # OpenCL vendor files - insinto /etc/OpenCL/vendors/ - cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF - /usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so - EOF - doins "${T}"/amdocl${oclsuffix}.icd - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" - - # Silence the QA notice by creating missing soname symlinks - for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9]) - do - local soname=${so##*/} - ## let's keep also this alternative way ;) - #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]} - dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so}) - done - - #remove static libs if not wanted - use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a -} - -pkg_postinst() { - elog "To switch to AMD OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "Fully rebooting the system after an ${PN} update is recommended" - elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg" - elog "might not work" - elog - elog "Some cards need acpid running to handle events" - elog "Please add it to boot runlevel with rc-update add acpid boot" - elog - - use modules && linux-mod_pkg_postinst - "${ROOT}"/usr/bin/eselect opengl set --use-old ati - "${ROOT}"/usr/bin/eselect opencl set --use-old amd -} - -pkg_preinst() { - use modules && linux-mod_pkg_preinst -} - -pkg_prerm() { - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} - -pkg_postrm() { - use modules && linux-mod_pkg_postrm - "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 -} |