diff options
author | Steve Arnold <stephen.arnold42@gmail.com> | 2014-07-30 20:42:49 -0700 |
---|---|---|
committer | Steve Arnold <stephen.arnold42@gmail.com> | 2014-07-30 20:42:49 -0700 |
commit | abed69f67a9fc7c7671254b8e306bbcbef912e0f (patch) | |
tree | c7b573f29005f4b2eae22ef4b5360e0c27bbcecd /media-libs | |
parent | in-progress update for readme (diff) | |
download | arm-abed69f67a9fc7c7671254b8e306bbcbef912e0f.tar.gz arm-abed69f67a9fc7c7671254b8e306bbcbef912e0f.tar.bz2 arm-abed69f67a9fc7c7671254b8e306bbcbef912e0f.zip |
updates for latest versioned mesa (tegra support still WIP)
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/mesa/Manifest | 13 | ||||
-rw-r--r-- | media-libs/mesa/files/eselect-mesa.conf.7.10 | 39 | ||||
-rw-r--r-- | media-libs/mesa/files/eselect-mesa.conf.7.11 | 39 | ||||
-rw-r--r-- | media-libs/mesa/files/eselect-mesa.conf.8.0.1 | 38 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch | 11 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-10.2.4-optional-gl-headers.patch | 54 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch | 27 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-8.0.4-configure-bsd.patch | 13 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch | 12 | ||||
-rw-r--r-- | media-libs/mesa/mesa-10.2.4.ebuild | 533 | ||||
-rw-r--r-- | media-libs/mesa/mesa-9999.ebuild | 3 |
11 files changed, 778 insertions, 4 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 2195b24..9a2fade 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,15 +1,24 @@ AUX 0001-st-xorg-handle-updates-to-DamageUnregister-API.patch 1445 SHA256 3b12da8d77040855bb3b919bfd923511a7ba06f143a27f21ebebf98974b8b452 SHA512 e3f4c3cfaa8197a5ae963098c128e2a560c81d62e1007d7c1178a3f8de1894717b74583e441a2c936bc1a95f21a6b4cec06bdecc3830cece265f363bd55e2cba WHIRLPOOL 605e2e8a0303b510c8d5c0935cfbec4803397d2cb3da8b3dadefa8b1a899a82221c7027c46e6c813ff5d9ac903d4974a286bcdff21d0e6719ab478f4dc087dd8 AUX 01-Partial-llvm-3.3-fix.patch 1219 SHA256 fd0833f10f955d76e71caba0b9afdd030449c1e29576896a5734f4b1b58a46da SHA512 2884a271d9eae8ead1e3a131af32c460e3501fc035ec62d0d8022bed24fcfb4c4ebdeb3fa8f6fd057499214636ff88941acf16d3d57e98484664eddfa5d6762d WHIRLPOOL 07f2b38e239e07ab9111bc01f74e26f118adaa09729d43b9c1db71375b14b96a0465b4c2287b1cfd36d91f562caf7632919f16f52a9dedc6177b99b3742ffab2 AUX 02-Part-deux-llvm-3.3-fix.patch 798 SHA256 88a29ceef633c85a37455d27d6604bf7eb2002c59945b07aabcbf258238849d1 SHA512 2fa3809d79e18fd26faf781f6103a8442eabb7771b027487ace971dc835175cb0a9a1e7b8da5829b866ec70e3a6176c979e697b6c3f8f498b4ca97be7a639a53 WHIRLPOOL 27208f0b0c308da2b150a3d2f8510cd920ad5990259d512d256266ea20708c4c23d5020712a6c92d7dd1fac84b87c8ea122b38763cb5bda06190a8cd3ced90b2 +AUX eselect-mesa.conf.7.10 1670 SHA256 3ff15cedc353feeb2da450533c2ea2efc33ed1c8434a7b3037999c4965907149 SHA512 c62679e2427b6e922a7c04dec7afe1eddb4f8ba255735479338ebaf6da7db4ad7c6c916a3cf62da8bf8d2c0ceb60b6d591f8e878d4add9b7f63ff8121bb610a2 WHIRLPOOL 5d3522f8715ab62c9a1b4a96031db63734a98bb9e8a1cc722d20e018e7eedb3ffac92bb7c727bff1f58e216476b0e20552373b8155a51954f3d9af704e830782 +AUX eselect-mesa.conf.7.11 1670 SHA256 448d08e97e931563aa2e33f22feeaf911caf9a2eb9fd7b446485311d1dcc1225 SHA512 0a8178006f64d2f2d41f0f1ffbceab959ad66ac9142e2f74b593405041ade112b68fbabd54915c21dbf6bd7e3564499e6f76c348e8af632d751409b070420481 WHIRLPOOL 5df8041475f506ed544afb4b7ce94a31b4974c6cd26fd5054a6c29dda26cbec1694d60b68e975106d0797ff857764a39ec820da000e454be34181112b201ae36 +AUX eselect-mesa.conf.8.0.1 1622 SHA256 a7a4306084885dc624304a8893ca4f5645f7f1fe31322f9fb663e5a103f69221 SHA512 58eacf1304ebaa0116ea3c53fafdddb8c94738e31daad8546ac33b46dc51b81a6bccb48c167afe792c7fd41ca5054d8e66123f524b0623ad3e603ed4872f9dc4 WHIRLPOOL 7af55e3cb9448f4b3b4c463443e078a5559588371767e10b5890918d84bfeb16797f11ffabf9aaa205db70c550c5dfc18fe709b3a2e00746d93d4bf4944124b1 AUX eselect-mesa.conf.8.1 1622 SHA256 a7a4306084885dc624304a8893ca4f5645f7f1fe31322f9fb663e5a103f69221 SHA512 58eacf1304ebaa0116ea3c53fafdddb8c94738e31daad8546ac33b46dc51b81a6bccb48c167afe792c7fd41ca5054d8e66123f524b0623ad3e603ed4872f9dc4 WHIRLPOOL 7af55e3cb9448f4b3b4c463443e078a5559588371767e10b5890918d84bfeb16797f11ffabf9aaa205db70c550c5dfc18fe709b3a2e00746d93d4bf4944124b1 AUX eselect-mesa.conf.9.2 1676 SHA256 bcf5f77140b4695f147d4cd3c2db4b954fb57eccfd4475c7f7c4866edda8436e SHA512 d0061359638c0d9729ba1035fd7740c84d59f538adc11af2ee671b5ddbc83c420159efbefcc39ea680f06d20507f1e1d76b528712a07baeca901a413ba7b55df WHIRLPOOL 0fc650223a1910305bb2c4b7b946ac8b83b5b1ba0b79b586a96303a369b30c9c03dc658a6e8e9a29c5c4605f3865e245be0a0e6a27c40ac37402e8a2616b3ace AUX glx_ro_text_segm.patch 731 SHA256 e36af5b530fdbe2b0e62a035bf4bf4baef267c3dc56133d1a58e56899ebffc5c SHA512 90d04d1268cc90e1c5596b49b143895eba99d4e7f7d9bb5f699725c1308e3995edac44e3f61536c7ce70ebf5df84a5a22c18fa84fb54fbddb339f908975bb43c WHIRLPOOL 42171ef67930bebdcfdfcb0c9370234791c6125be760b6419abfff44bd65899982167d6da4d6eb4198383438e6376b4b695109af158083b903071c545160d883 +AUX mesa-10.2-dont-require-llvm-for-r300.patch 547 SHA256 83cfeae33b1e8c84b37ed59c353000eb775978ae3d9035ba8ce4f63a167756fc SHA512 d1cb5a989aa001c99f353d27ab5b28ac05d60050614bbfd76ca5d312e00efcc2b1a2459d30d697b68119310c69512b4195afce6c0ed7f31fb9cf14689a740e27 WHIRLPOOL c06669942d275a9d9f132ec8f51d3ecf23d33cb89cb607ba3a7861f209f283b39a9568513b07e22f0dfcc99339a307d7b2a6b03f261ed583fd4518d3b4d0b464 +AUX mesa-10.2.4-optional-gl-headers.patch 1614 SHA256 3acebe6dce302a1c46040a73424ba275ca94bd8d99cf98f46c928816ec995931 SHA512 32d030c0c163d64d3313ecbd2771a5282a097eb678dc62371083cd14a94b515440ebd1b28932cbb54536f899d08f75142beee686513974589671ba695b068a68 WHIRLPOOL ffe0783af517eb87c3413c687f901dc38c050cf318244c575aabc82377ff44c2e340c1e9cf95fc980056a89060b6296a9133ce5e8427295b8322821ec993bb93 +AUX mesa-8.0-dont-require-llvm-for-r300.patch 916 SHA256 560f224a12b47fb86bd2ecbe7dc32c79e2be9a26321a79921f83527656ed553a SHA512 ce637b9210517375ae2c77981e0882d161e2027801356b80ec31d50157e52eecdb2ca3b9dc3787c789b39005fcd4cf73290e0879bd5e25638d33ef2cd5e443b8 WHIRLPOOL a14401c13deb209f0ce2e72c360a33ece1d87bd62be79ca8fcef46db29d75f0f4e60b5ef0527bf0bf6196d99a6d2f11da332537beb8c7627b1d7e810a3cfb2e8 +AUX mesa-8.0.4-configure-bsd.patch 482 SHA256 5e217191f37a49b56d0404605b51a88f0a3ee0a271a74fd8d25e7b6685e57017 SHA512 efc924315b461c310e632068ec31520048e9d22fe6c35fa47e2c650e778114c6757ff9e4095094d6fa0bb4f82f45217ed9f5320a58de1a2559776a159b722631 WHIRLPOOL 46353a6eb942037d20e07007f7dbe68350d3131d58d4065db133b5655fe9cc88142b6d3c7797602d764d40f622830bf578c559f8868965b240a4bf911bafa034 AUX mesa-8.1-dont-require-llvm-for-r300.patch 861 SHA256 7ca0a7135834448ea7ca27903a40bf3b0a39325613f8a66a718407aa28504fbf SHA512 a2e7ed3b9b51c3a9a98d83c8fdeb8b777a4877fac25e969b01ff92d6971c10dda9f64e6310c739597ad7ba04106c72925ee5931417f2b8d764f9bd799efd2142 WHIRLPOOL a82863366507835ec0a6562f70389e0d050fd23ea25e7c113ef4a0e1298a1543afa8c1fa51c90ece83f41ac6f3bda6083fd50b8f1292b863cd320186fba8f732 AUX mesa-9.1-optional-gl-headers.patch 1455 SHA256 779e99d020e6292b05ec70bad4323d6d4ef6d8862c727724550823c9d6297427 SHA512 db121d1db5f146708041a593f4edeedc612b973c4257501afa9a3c6edf96fef703e69c7bc17ee1ba59828d882bedd3da4555dcf20e7ec4d0ac3362f9f3070081 WHIRLPOOL 1b30cd5bbe6bad4d128d572ab0c6b3479e566ecb482073ebb5abfbc2e1298b4ec51ac32b97030e3bf36a80e0acd7dab913de28efd259124432b5c61e0dba2fb6 +AUX mesa-9.2-dont-require-llvm-for-r300.patch 524 SHA256 7e57cb037a57c8c4ef49be93d6f53bd9f002d918bf91c77158da4a4980fbbd66 SHA512 c5b4b40636a4bab64338a0be730f10ec546ff1da31fdde83c628485a5569cc021042fdb17e2ddbc39b86ab6e72e805ed28af9a98ebed320d23084e2575d6437b WHIRLPOOL 7c896f1be7353c964247fd60f517bb100779a02f08166ca509d4b2924c3cd45aba4cc5d45f0eeb171c4ef5d105e5a93316bd24af1342510ba8bde385ea709854 AUX mesa-9999-dont-require-llvm-for-r300.patch 524 SHA256 7e57cb037a57c8c4ef49be93d6f53bd9f002d918bf91c77158da4a4980fbbd66 SHA512 c5b4b40636a4bab64338a0be730f10ec546ff1da31fdde83c628485a5569cc021042fdb17e2ddbc39b86ab6e72e805ed28af9a98ebed320d23084e2575d6437b WHIRLPOOL 7c896f1be7353c964247fd60f517bb100779a02f08166ca509d4b2924c3cd45aba4cc5d45f0eeb171c4ef5d105e5a93316bd24af1342510ba8bde385ea709854 AUX mesa-9999-gallium-llvm-DisablePrettyStackTrace.patch 988 SHA256 1cb1cc6ae6f2a3e5e15d31228d7ce1df26f829b6e1a1920b6ae3d039adefec92 SHA512 c1a4a52929afab66c65c20355e44d5e1b141498eb5d1c296ff8c93e8bf2580ab676934d8b9f5834563160e6aa11a88152b316cee7e11de7fb562b676df242fab WHIRLPOOL 2ff7eed96663eb8835475ef6dc10a2207cb3d602f18302fd9009e59c1b5edbd4375cac1967f4d347360add369f1ef8af441209dc8e852147f23313a4379b626a AUX mesa-9999-llvm-configure.patch 607 SHA256 f2b445f0c86ab8726ea71eb9070361b1028967cf2fa705980391d5db1e1eeb51 SHA512 bd507fa4a463eae66856f8cfb8b6c07728229d769551d3ba3f055fa73a59035c0c74cc097ec81c2c6d2d469df5294b0a35d7b271d8f3ff93b9d6870af785779e WHIRLPOOL b4b24be587e6d593a871ddcb349ec388674f8aad5bca9f08f0a5977016dc583c0fd6cc8d03d03fcbe9755c93a5dde6e9f006a29f1d16bc7910aa134634b1ef55 +DIST MesaLib-10.2.4.tar.bz2 7128555 SHA256 06a2341244eb85c283f59f70161e06ded106f835ed9b6be1ef0243bd9344811a SHA512 b74e9dd8e013b3f1f5bf4d51116e4ed2cb053a91135c57eed10cc87398169665b8e5f83076742da9ea4612f7340e9defd6d2ca2a49d456068cbe81ee3695d24d WHIRLPOOL 9c12021cace338d90fa476517b442a203d833fb8c8203906c3f13d9eb06e11e5109d88954dc36cd61f8898565fe4a076767fb8915190e9c4877faaff762ba292 DIST MesaLib-9.1.6.tar.bz2 6134267 SHA256 e632dff0acafad0a59dc208d16dedb37f7bd58f94c5d58c4b51912e41d005e3d SHA512 b23d0cc3515b56636f73c4d3247212f8c731c967f5ecf8c247a3bd359038ed374c23eb1bb0da17a9152f8b8d984acd134fa9823d9349285287e58676419b4d40 WHIRLPOOL 4e3c07c893060f77cade242d904c1ec4c1c2982b6b3d9ff188b3d809ad8592408c34bd71276f0e8dfa38bce58a82e146b25064cfa50d3ce6d52a7b69a694690a -DIST big-master-tegra.diff.gz 14293 SHA256 9eaa63e9057dde34808ae3adb1ae59e42766449143d147ad69c5d1a653f5767b SHA512 c4dfa7ddcf7d85204e2ce69a68e7d72a2bad2cd4bf3aafbae2c6313785723d9b5ebc87cd07cd70d26a9f085eb07ce0609a5491fba4a1a7f1a92c9b6c2af06941 WHIRLPOOL 05df5d3b0cecd7f906c8e9359081c3f79aa71ea8f1f9a4d8d621b8ee19ce19a32eb31c56aa4c6f7bfc97699de072cb08e146ce620bacf29979c3a710a646d114 +EBUILD mesa-10.2.4.ebuild 14775 SHA256 48a17fca4d23f458d7964cb40560d7affcfafa11e946676dd79c2341469a4222 SHA512 64ce876a10966eb63e5d330c3a437773de08ef5d7fa1a267eebd53b7d49d670379a3fbf08fb079ce1d2583d8fa1044c459717975fea3d78067f6ed63b9b71604 WHIRLPOOL 51623b3495f6f0a6ca3b5a0e0a72707dbc813a3adc7edf8c9e3fd84e131477e60ca828470369eef05df07fd5c89d946d89c474109d8bd3e357ebed01d3c0cca1 EBUILD mesa-9.1.6-r100.ebuild 11215 SHA256 1d82be7ea0113b263ade762b21235d87c2732d1afdf7a945d4fe17adec80bd3b SHA512 89f35c0043818e4cb828c066b5759fa59ec528a7397b241a85075da15f66323be6b24ec4473e82f78164bf61788758cc226c6b79133d7de750e94d53bac8e659 WHIRLPOOL e77104786a5321ec122a753d2c68a68d797ed20e88d9b59032cc553fbfd5ef827795f7c276cde88e6e91326bf9afbc259c5c7b92f5bbd4888fe75ae027d5ab59 -EBUILD mesa-9999.ebuild 12391 SHA256 57238d7d8a6ccead51439dbd67db91cb82c54875da3a87f138af83001cbd365a SHA512 b2d52c8a34262d6431600b200cfd6967e7f26047a3fad289bd5c7df0e0b869089510e8e4a3063e640d09445ddbc77f9a6be6ebbc4d13f796143f4c97f05cf764 WHIRLPOOL fc7005328387c689b57e927316e7a6a0295710a58c3b80d8ca20d1cf6e98185a23295418a3f37631ba7c9d44a76d0d29dc43b1d83a2c26cb89f78606fd1ea280 +EBUILD mesa-9999.ebuild 12332 SHA256 cc20f85095b3d001ea30abd43612c91e8355c5c9beaf9ed2112bec385c24e9ef SHA512 c50a1144ecf1c36c1bde888a7fada73b3a99abfa5bcf2018dc083a49c2db07baa52610d447189af27c71a9b711f1a9e072c9252f818fbbaab09b4b898ab4a723 WHIRLPOOL 85a620e990495ad663c07a3ac2665d1bedb2b4cc2b99aa4652157921947038f5d2f2e8af2c6749a1e87a674af20469ea80b767d8da28393bdd2853a6f6703385 diff --git a/media-libs/mesa/files/eselect-mesa.conf.7.10 b/media-libs/mesa/files/eselect-mesa.conf.7.10 new file mode 100644 index 0000000..ac8bc1a --- /dev/null +++ b/media-libs/mesa/files/eselect-mesa.conf.7.10 @@ -0,0 +1,39 @@ +# mesa classic/gallium implementations in this release + +# Syntax description: +# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable +# classic/gallium implementations. +# * MESA_DRIVERS is an associative array, for each member "foo" of +# MESA_IMPLEMENTATIONS it contains the following elements: +# foo,description - Human-readable description of the driver +# foo,classicdriver - Filename of the classic driver +# foo,galliumdriver - Filename of the gallium driver +# foo,default - which of classic or gallium is chosen by default + +MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw" +declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative." + +MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)" +MESA_DRIVERS[i915,classicdriver]="i915_dri.so" +MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so" +MESA_DRIVERS[i915,default]="classic" + +MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)" +MESA_DRIVERS[i965,classicdriver]="i965_dri.so" +MESA_DRIVERS[i965,galliumdriver]="i965g_dri.so" +MESA_DRIVERS[i965,default]="classic" + +MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)" +MESA_DRIVERS[r300,classicdriver]="r300_dri.so" +MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so" +MESA_DRIVERS[r300,default]="gallium" + +MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)" +MESA_DRIVERS[r600,classicdriver]="r600_dri.so" +MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so" +MESA_DRIVERS[r600,default]="classic" + +MESA_DRIVERS[sw,description]="sw (Software renderer)" +MESA_DRIVERS[sw,classicdriver]="swrast_dri.so" +MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so" +MESA_DRIVERS[sw,default]="gallium" diff --git a/media-libs/mesa/files/eselect-mesa.conf.7.11 b/media-libs/mesa/files/eselect-mesa.conf.7.11 new file mode 100644 index 0000000..3a1b196 --- /dev/null +++ b/media-libs/mesa/files/eselect-mesa.conf.7.11 @@ -0,0 +1,39 @@ +# mesa classic/gallium implementations in this release + +# Syntax description: +# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable +# classic/gallium implementations. +# * MESA_DRIVERS is an associative array, for each member "foo" of +# MESA_IMPLEMENTATIONS it contains the following elements: +# foo,description - Human-readable description of the driver +# foo,classicdriver - Filename of the classic driver +# foo,galliumdriver - Filename of the gallium driver +# foo,default - which of classic or gallium is chosen by default + +MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw" +declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative." + +MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)" +MESA_DRIVERS[i915,classicdriver]="i915_dri.so" +MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so" +MESA_DRIVERS[i915,default]="classic" + +MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)" +MESA_DRIVERS[i965,classicdriver]="i965_dri.so" +MESA_DRIVERS[i965,galliumdriver]="i965g_dri.so" +MESA_DRIVERS[i965,default]="classic" + +MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)" +MESA_DRIVERS[r300,classicdriver]="r300_dri.so" +MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so" +MESA_DRIVERS[r300,default]="gallium" + +MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)" +MESA_DRIVERS[r600,classicdriver]="r600_dri.so" +MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so" +MESA_DRIVERS[r600,default]="gallium" + +MESA_DRIVERS[sw,description]="sw (Software renderer)" +MESA_DRIVERS[sw,classicdriver]="swrast_dri.so" +MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so" +MESA_DRIVERS[sw,default]="gallium" diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.0.1 b/media-libs/mesa/files/eselect-mesa.conf.8.0.1 new file mode 100644 index 0000000..63a21aa --- /dev/null +++ b/media-libs/mesa/files/eselect-mesa.conf.8.0.1 @@ -0,0 +1,38 @@ +# mesa classic/gallium implementations in this release + +# Syntax description: +# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable +# classic/gallium implementations. +# * MESA_DRIVERS is an associative array, for each member "foo" of +# MESA_IMPLEMENTATIONS it contains the following elements: +# foo,description - Human-readable description of the driver +# foo,classicdriver - Filename of the classic driver +# foo,galliumdriver - Filename of the gallium driver +# foo,default - which of classic or gallium is chosen by default + +MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw" +declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative." + +MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)" +MESA_DRIVERS[i915,classicdriver]="i915_dri.so" +MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so" +MESA_DRIVERS[i915,default]="gallium" + +MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)" +MESA_DRIVERS[i965,classicdriver]="i965_dri.so" +MESA_DRIVERS[i965,default]="classic" + +MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)" +MESA_DRIVERS[r300,classicdriver]="r300_dri.so" +MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so" +MESA_DRIVERS[r300,default]="gallium" + +MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)" +MESA_DRIVERS[r600,classicdriver]="r600_dri.so" +MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so" +MESA_DRIVERS[r600,default]="gallium" + +MESA_DRIVERS[sw,description]="sw (Software renderer)" +MESA_DRIVERS[sw,classicdriver]="swrast_dri.so" +MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so" +MESA_DRIVERS[sw,default]="gallium" diff --git a/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch new file mode 100644 index 0000000..a85a3c1 --- /dev/null +++ b/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch @@ -0,0 +1,11 @@ +diff -Naur a/configure.ac b/configure.ac +--- a/configure.ac 2014-03-03 04:05:33.110522943 +0100 ++++ b/configure.ac 2014-03-03 04:06:44.165518094 +0100 +@@ -1774,7 +1774,6 @@ + HAVE_GALLIUM_R300=yes + PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) + gallium_require_drm_loader +- gallium_require_llvm "Gallium R300" + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "r300/dri" "" "" "" + DRICOMMON_NEED_LIBDRM=yes diff --git a/media-libs/mesa/files/mesa-10.2.4-optional-gl-headers.patch b/media-libs/mesa/files/mesa-10.2.4-optional-gl-headers.patch new file mode 100644 index 0000000..dde95e1 --- /dev/null +++ b/media-libs/mesa/files/mesa-10.2.4-optional-gl-headers.patch @@ -0,0 +1,54 @@ +--- configure.ac.orig 2014-07-30 12:19:42.103059430 -0700 ++++ configure.ac 2014-07-30 12:35:25.556636771 -0700 +@@ -1096,8 +1096,10 @@ + DRI_DIRS='' + dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block + if test -n "$with_dri_drivers"; then +- if test "x$enable_opengl" != xyes; then +- AC_MSG_ERROR([--with-dri-drivers requires OpenGL]) ++ if test -n "$DRI_DIRS"; then ++ if "x$enable_opengl" != xyes -a "x$enable_egl" != xyes; then ++ AC_MSG_ERROR([--with-dri-drivers requires OpenGL or EGL]) ++ fi + fi + + dri_drivers=`IFS=', '; echo $with_dri_drivers` +@@ -1447,11 +1449,13 @@ + AC_SUBST([LLVM_VERSION]) + AC_SUBST([CLANG_RESOURCE_DIR]) + +-case "x$enable_opengl$enable_gles1$enable_gles2" in ++case "x$enable_opengl" in + x*yes*) + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)' ++ HAVE_OPENGL=yes + ;; + esac ++AM_CONDITIONAL(HAVE_OPENGL, test "x$HAVE_OPENGL" = xyes) + + AC_SUBST([VG_LIB_DEPS]) + AC_SUBST([EGL_CLIENT_APIS]) +--- src/mesa/Makefile.am.orig 2014-07-30 12:36:47.225682421 -0700 ++++ src/mesa/Makefile.am 2014-07-30 12:39:05.568417156 -0700 +@@ -33,8 +33,10 @@ + SUBDIRS += drivers/osmesa + endif + ++if HAVE_OPENGL + gldir = $(includedir)/GL + gl_HEADERS = $(top_srcdir)/include/GL/*.h ++endif + + .PHONY: $(BUILDDIR)main/git_sha1.h.tmp + $(BUILDDIR)main/git_sha1.h.tmp: +@@ -146,8 +148,10 @@ + main/streaming-load-memcpy.c + libmesa_sse41_la_CFLAGS = $(AM_CFLAGS) -msse4.1 + ++if HAVE_OPENGL + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = gl.pc ++endif + + $(BUILDDIR)program/lex.yy.c: program/program_lexer.l + $(AM_V_at)$(MKDIR_P) program diff --git a/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch new file mode 100644 index 0000000..6a20914 --- /dev/null +++ b/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch @@ -0,0 +1,27 @@ +diff --git a/configure.ac b/configure.ac +index 846b623..fbd05c1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1839,14 +1839,6 @@ gallium_check_st() { + fi + } + +-gallium_require_llvm() { +- if test "x$MESA_LLVM" = x0; then +- case "$host_cpu" in +- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);; +- esac +- fi +-} +- + dnl Gallium drivers + dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block + if test "x$with_gallium_drivers" != x; then +@@ -1868,7 +1860,6 @@ if test "x$with_gallium_drivers" != x; then + gallium_check_st "i915/drm" "dri-i915" "xorg-i915" + ;; + xr300) +- gallium_require_llvm "Gallium R300" + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300" + ;; diff --git a/media-libs/mesa/files/mesa-8.0.4-configure-bsd.patch b/media-libs/mesa/files/mesa-8.0.4-configure-bsd.patch new file mode 100644 index 0000000..547ee1c --- /dev/null +++ b/media-libs/mesa/files/mesa-8.0.4-configure-bsd.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index fbaa376..a2561c9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1007,7 +1007,7 @@ xyesno) + else + # should check these... + X11_INCLUDES="$X11_INCLUDES $X_CFLAGS" +- if test "x$HAVE_XF86VIDMODE" == xyes; then ++ if test "x$HAVE_XF86VIDMODE" = xyes; then + GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes" + else + GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXdamage -lXfixes" diff --git a/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch new file mode 100644 index 0000000..bd24787 --- /dev/null +++ b/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 21a1986..94b2247 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1777,7 +1777,6 @@ if test "x$with_gallium_drivers" != x; then + xr300) + HAVE_GALLIUM_R300=yes + PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) +- gallium_require_llvm "Gallium R300" + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" "" "" "xvmc-r300" "vdpau-r300" + ;; diff --git a/media-libs/mesa/mesa-10.2.4.ebuild b/media-libs/mesa/mesa-10.2.4.ebuild new file mode 100644 index 0000000..0648af0 --- /dev/null +++ b/media-libs/mesa/mesa-10.2.4.ebuild @@ -0,0 +1,533 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" + +if [[ ${PV} = 9999* ]]; then + GIT_ECLASS="git-r3" + EXPERIMENTAL="true" +fi + +PYTHON_COMPAT=( python{2_6,2_7} ) + +inherit base autotools multilib multilib-minimal flag-o-matic \ + python-any-r1 toolchain-funcs pax-utils ${GIT_ECLASS} + +OPENGL_DIR="xorg-x11" + +MY_PN="${PN/m/M}" +MY_P="${MY_PN}-${PV/_/-}" +MY_SRC_P="${MY_PN}Lib-${PV/_/-}" + +FOLDER="${PV/.0_rc*/}" + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="http://mesa3d.sourceforge.net/" + +#SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2" +if [[ $PV = 9999* ]]; then + SRC_URI="${SRC_PATCHES}" +else + SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2 + ${SRC_PATCHES}" +fi + +# The code is MIT/X11. +# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0 +LICENSE="MIT SGI-B-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris" + +INTEL_CARDS="i915 i965 ilo intel" +RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi" +VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} freedreno nouveau vmware" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + bindist +classic debug +dri3 +egl +gallium gbm gles1 gles2 +llvm +nptl + opencl openvg osmesa pax_kernel openmax pic r600-llvm-compiler selinux + vdpau wayland xvmc xa kernel_FreeBSD" + +REQUIRED_USE=" + llvm? ( gallium ) + openvg? ( egl gallium ) + opencl? ( + gallium + video_cards_r600? ( r600-llvm-compiler ) + video_cards_radeon? ( r600-llvm-compiler ) + video_cards_radeonsi? ( r600-llvm-compiler ) + ) + openmax? ( gallium ) + gles1? ( egl ) + gles2? ( egl ) + r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeonsi video_cards_radeon ) ) + wayland? ( egl gbm ) + xa? ( gallium ) + video_cards_freedreno? ( gallium ) + video_cards_intel? ( || ( classic gallium ) ) + video_cards_i915? ( || ( classic gallium ) ) + video_cards_i965? ( classic ) + video_cards_ilo? ( gallium ) + video_cards_nouveau? ( || ( classic gallium ) ) + video_cards_radeon? ( || ( classic gallium ) ) + video_cards_r100? ( classic ) + video_cards_r200? ( classic ) + video_cards_r300? ( gallium ) + video_cards_r600? ( gallium ) + video_cards_radeonsi? ( gallium llvm ) + video_cards_vmware? ( gallium ) + ${PYTHON_REQUIRED_USE} +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.54" +# keep correct libdrm and dri2proto dep +# keep blocks in rdepend for binpkg +RDEPEND=" + !<x11-base/xorg-server-1.7 + !<=x11-proto/xf86driproto-2.0.3 + abi_x86_32? ( !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] ) + classic? ( app-admin/eselect-mesa ) + gallium? ( app-admin/eselect-mesa ) + >=app-admin/eselect-opengl-1.2.7 + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + gbm? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] ) + dri3? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] ) + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXdamage-1.1.4-r1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.9.3[${MULTILIB_USEDEP}] + llvm? ( + video_cards_radeonsi? ( || ( + >=dev-libs/elfutils-0.155-r1[${MULTILIB_USEDEP}] + >=dev-libs/libelf-0.8.13-r2[${MULTILIB_USEDEP}] + ) ) + video_cards_r600? ( || ( + >=dev-libs/elfutils-0.155-r1[${MULTILIB_USEDEP}] + >=dev-libs/libelf-0.8.13-r2[${MULTILIB_USEDEP}] + ) ) + !video_cards_r600? ( + video_cards_radeon? ( || ( + >=dev-libs/elfutils-0.155-r1[${MULTILIB_USEDEP}] + >=dev-libs/libelf-0.8.13-r2[${MULTILIB_USEDEP}] + ) ) + ) + >=sys-devel/llvm-3.3-r3[${MULTILIB_USEDEP}] + ) + opencl? ( + app-admin/eselect-opencl + dev-libs/libclc + ) + openmax? ( >=media-libs/libomxil-bellagio-0.9.3[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.2.0[${MULTILIB_USEDEP}] ) + xvmc? ( >=x11-libs/libXvMC-1.0.8[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vmware?,${MULTILIB_USEDEP}] +" +for card in ${INTEL_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] ) + " +done + +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + llvm? ( + r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] ) + video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] ) + ) + opencl? ( + >=sys-devel/llvm-3.3-r3[${MULTILIB_USEDEP}] + >=sys-devel/clang-3.3[${MULTILIB_USEDEP}] + >=sys-devel/gcc-4.6 + ) + sys-devel/bison + sys-devel/flex + sys-devel/gettext + virtual/pkgconfig + >=x11-proto/dri2proto-2.8-r1[${MULTILIB_USEDEP}] + dri3? ( + >=x11-proto/dri3proto-1.0[${MULTILIB_USEDEP}] + >=x11-proto/presentproto-1.0[${MULTILIB_USEDEP}] + ) + >=x11-proto/glproto-1.4.16-r1[${MULTILIB_USEDEP}] + >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}] + >=x11-proto/xf86driproto-2.1.1-r1[${MULTILIB_USEDEP}] + >=x11-proto/xf86vidmodeproto-2.3.1-r1[${MULTILIB_USEDEP}] +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +# It is slow without texrels, if someone wants slow +# mesa without texrels +pic use is worth the shot +QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*" +QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*" + +# Think about: ggi, fbcon, no-X configs + +pkg_setup() { + # workaround toc-issue wrt #386545 + use ppc64 && append-flags -mminimal-toc + + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + python-any-r1_pkg_setup +} + +src_unpack() { + default + [[ $PV = 9999* ]] && git-r3_src_unpack +} + +src_prepare() { + # apply patches + if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then + EPATCH_FORCE="yes" \ + EPATCH_SOURCE="${WORKDIR}/patches" \ + EPATCH_SUFFIX="patch" \ + epatch + fi + + # relax the requirement that r300 must have llvm, bug 380303 + epatch "${FILESDIR}"/${PN}-10.2-dont-require-llvm-for-r300.patch + + # fix for hardened pax_kernel, bug 240956 + [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch + + # fix for GL header issues on embedded + [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/${P}-optional-gl-headers.patch + + # Solaris needs some recent POSIX stuff in our case + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die + fi + + base_src_prepare + + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myconf + + if use classic; then + # Configurable DRI drivers + driver_enable swrast + + # Intel code + driver_enable video_cards_i915 i915 + driver_enable video_cards_i965 i965 + if ! use video_cards_i915 && \ + ! use video_cards_i965; then + driver_enable video_cards_intel i915 i965 + fi + + # Nouveau code + driver_enable video_cards_nouveau nouveau + + # ATI code + driver_enable video_cards_r100 radeon + driver_enable video_cards_r200 r200 + if ! use video_cards_r100 && \ + ! use video_cards_r200; then + driver_enable video_cards_radeon radeon r200 + fi + fi + + if use egl; then + myconf+="--with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm") " + fi + + if use gallium; then + myconf+=" + $(use_enable llvm gallium-llvm) + $(use_enable openvg) + $(use_enable openvg gallium-egl) + $(use_enable openmax omx) + $(use_enable r600-llvm-compiler) + $(use_enable vdpau) + $(use_enable xa) + $(use_enable xvmc) + " + gallium_enable swrast + gallium_enable video_cards_vmware svga + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_i915 i915 + gallium_enable video_cards_ilo ilo + if ! use video_cards_i915 && \ + ! use video_cards_i965; then + gallium_enable video_cards_intel i915 + fi + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && \ + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + gallium_enable video_cards_freedreno freedreno + # opencl stuff + if use opencl; then + myconf+=" + $(use_enable opencl) + --with-opencl-libdir="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/mesa" + --with-clang-libdir="${EPREFIX}/usr/lib" + " + fi + fi + + # x86 hardened pax_kernel needs glx-rts, bug 240956 + if use pax_kernel; then + myconf+=" + $(use_enable x86 glx-rts) + " + fi + + # on abi_x86_32 hardened we need to have asm disable + if [[ ${ABI} == x86* ]] && use pic; then + myconf+=" --disable-asm" + fi + + # build fails with BSD indent, bug #428112 + use userland_GNU || export INDENT=cat + + econf \ + --enable-dri \ + --enable-glx \ + --enable-shared-glapi \ + $(use_enable !bindist texture-float) \ + $(use_enable debug) \ + $(use_enable dri3) \ + $(use_enable egl) \ + $(use_enable gbm) \ + $(use_enable gles1) \ + $(use_enable gles2) \ + $(use_enable nptl glx-tls) \ + $(use_enable osmesa) \ + --enable-llvm-shared-libs \ + --with-dri-drivers=${DRI_DRIVERS} \ + --with-gallium-drivers=${GALLIUM_DRIVERS} \ + PYTHON2="${PYTHON}" \ + ${myconf} +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + # Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib + # because user can eselect desired GL provider. + ebegin "Moving libGL and friends for dynamic switching" + local x + local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/" + dodir ${gl_dir}/{lib,extensions,include/GL} + for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do + if [ -f ${x} -o -L ${x} ]; then + mv -f "${x}" "${ED}${gl_dir}"/lib \ + || die "Failed to move ${x}" + fi + done + for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do + if [ -f ${x} -o -L ${x} ]; then + mv -f "${x}" "${ED}${gl_dir}"/include/GL \ + || die "Failed to move ${x}" + fi + done + for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do + if [ -d ${x} ]; then + mv -f "${x}" "${ED}${gl_dir}"/include \ + || die "Failed to move ${x}" + fi + done + eend $? + + if use classic || use gallium; then + ebegin "Moving DRI/Gallium drivers for dynamic switching" + local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so ) + keepdir /usr/$(get_libdir)/dri + dodir /usr/$(get_libdir)/mesa + for x in ${gallium_drivers[@]}; do + if [ -f "$(get_libdir)/gallium/${x}" ]; then + mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \ + || die "Failed to move ${x}" + fi + done + if use classic; then + emake -C "${BUILD_DIR}/src/mesa/drivers/dri" DESTDIR="${D}" install + fi + for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do + if [ -f ${x} -o -L ${x} ]; then + mv -f "${x}" "${x/dri/mesa}" \ + || die "Failed to move ${x}" + fi + done + pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed" + ln -s ../mesa/*.so . || die "Creating symlink failed" + # remove symlinks to drivers known to eselect + for x in ${gallium_drivers[@]}; do + if [ -f ${x} -o -L ${x} ]; then + rm "${x}" || die "Failed to remove ${x}" + fi + done + popd + eend $? + fi + if use opencl; then + ebegin "Moving Gallium/Clover OpenCL implementation for dynamic switching" + local cl_dir="/usr/$(get_libdir)/OpenCL/vendors/mesa" + dodir ${cl_dir}/{lib,include} + if [ -f "${ED}/usr/$(get_libdir)/libOpenCL.so" ]; then + mv -f "${ED}"/usr/$(get_libdir)/libOpenCL.so* \ + "${ED}"${cl_dir} + fi + if [ -f "${ED}/usr/include/CL/opencl.h" ]; then + mv -f "${ED}"/usr/include/CL \ + "${ED}"${cl_dir}/include + fi + eend $? + fi + + if use openmax; then + echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share/mesa/xdg\"" > "${T}/99mesaxdgomx" + doenvd "${T}"/99mesaxdgomx + keepdir /usr/share/mesa/xdg + fi +} + +multilib_src_install_all() { + prune_libtool_files --all + einstalldocs + + if use !bindist; then + dodoc docs/patents.txt + fi + + # Install config file for eselect mesa + insinto /usr/share/mesa + newins "${FILESDIR}/eselect-mesa.conf.9.2" eselect-mesa.conf +} + +multilib_src_test() { + if use llvm; then + local llvm_tests='lp_test_arit lp_test_arit lp_test_blend lp_test_blend lp_test_conv lp_test_conv lp_test_format lp_test_format lp_test_printf lp_test_printf' + pushd src/gallium/drivers/llvmpipe >/dev/null || die + emake ${llvm_tests} + pax-mark m ${llvm_tests} + popd >/dev/null || die + fi + emake check +} + +pkg_postinst() { + # Switch to the xorg implementation. + echo + eselect opengl set --use-old ${OPENGL_DIR} + + # switch to xorg-x11 and back if necessary, bug #374647 comment 11 + OLD_IMPLEM="$(eselect opengl show)" + if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then + eselect opengl set ${OPENGL_DIR} + eselect opengl set ${OLD_IMPLEM} + fi + + # Select classic/gallium drivers + if use classic || use gallium; then + eselect mesa set --auto + fi + + # Switch to mesa opencl + if use opencl; then + eselect opencl set --use-old ${PN} + fi + + # run omxregister-bellagio to make the OpenMAX drivers known system-wide + if use openmax; then + ebegin "Registering OpenMAX drivers" + BELLAGIO_SEARCH_PATH="${EPREFIX}/usr/$(get_libdir)/libomxil-bellagio0" \ + OMX_BELLAGIO_REGISTRY=${EPREFIX}/usr/share/mesa/xdg/.omxregister \ + omxregister-bellagio + eend $? + fi + + # warn about patent encumbered texture-float + if use !bindist; then + elog "USE=\"bindist\" was not set. Potentially patent encumbered code was" + elog "enabled. Please see patents.txt for an explanation." + fi + + local using_radeon r_flag + for r_flag in ${RADEON_CARDS}; do + if use video_cards_${r_flag}; then + using_radeon=1 + break + fi + done + + if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then + elog "Note that in order to have full S3TC support, it is necessary to install" + elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice" + elog "textures in some apps, and some others even require this to run." + fi +} + +pkg_prerm() { + if use openmax; then + rm "${EPREFIX}"/usr/share/mesa/xdg/.omxregister + fi +} + +# $1 - VIDEO_CARDS flag +# other args - names of DRI drivers to enable +# TODO: avoid code duplication for a more elegant implementation +driver_enable() { + case $# in + # for enabling unconditionally + 1) + DRI_DRIVERS+=",$1" + ;; + *) + if use $1; then + shift + for i in $@; do + DRI_DRIVERS+=",${i}" + done + fi + ;; + esac +} + +gallium_enable() { + case $# in + # for enabling unconditionally + 1) + GALLIUM_DRIVERS+=",$1" + ;; + *) + if use $1; then + shift + for i in $@; do + GALLIUM_DRIVERS+=",${i}" + done + fi + ;; + esac +} diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index 6116998..7bcd77a 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -28,8 +28,7 @@ HOMEPAGE="http://mesa3d.sourceforge.net/" #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2" if [[ $PV = 9999* ]]; then - SRC_URI="http://www.gentoogeek.org/files/big-master-tegra.diff.gz - ${SRC_PATCHES}" + SRC_URI="${SRC_PATCHES}" KEYWORDS="" else SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2 |