diff options
author | 2016-07-21 00:07:14 +0900 | |
---|---|---|
committer | 2016-07-21 00:07:14 +0900 | |
commit | 6722df94a7fdb3db5145890475f49ad4c379ac36 (patch) | |
tree | 75594c7965b9b7b226a87f86e59ed8afe11470d6 | |
parent | prefix.eclass: split the heuristics into hprefixify. (diff) | |
download | heroxbd-6722df94a7fdb3db5145890475f49ad4c379ac36.tar.gz heroxbd-6722df94a7fdb3db5145890475f49ad4c379ac36.tar.bz2 heroxbd-6722df94a7fdb3db5145890475f49ad4c379ac36.zip |
sys-devel/llvm: remove old and track new ebuilds.
-rw-r--r-- | sys-devel/llvm/Manifest | 34 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.8-compiler-rt-fbsd.patch | 20 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.8-gcc4.9-search-path.patch | 70 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.6.0.ebuild | 534 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.6.1.ebuild | 541 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.6.2.ebuild | 547 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.7.0-r1.ebuild | 513 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.7.0.ebuild | 492 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.8.0-r3.ebuild (renamed from sys-devel/llvm/llvm-9999.ebuild) | 127 |
9 files changed, 185 insertions, 2693 deletions
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index ed193fa..9c3f328 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -11,6 +11,8 @@ AUX clang-3.5-gentoo-runtime-gcc-detection-v3.patch 1694 SHA256 24691db819d08f87 AUX clang-3.6-fbsd-gcc49.patch 1016 SHA256 550862df82d47bd54e8adad7b8ee5bc8eaf14ed4bc100d09ba01d5416ac624b5 SHA512 4d9fcb9626774ea1a06494ee55efb5d6232a33874996a90fa29003ac53f9b9dad2885281a9f9bc15fdf0f0817c351cb6d8a4151e5f6ea12e28d383ded1429018 WHIRLPOOL c0140413a4944989efc5ef9c6ba33d10f43add5e1d8c7a8438cb04c18e764c3db26d65330d6a1570940a93cf4d43de6bb1f5a5640384faed3ea43abfa52b3d5d AUX clang-3.6-gentoo-install.patch 1660 SHA256 74cce23945897ce2cfd3931b08695d534973e32a0d104ff942b2f5c500ec4ad7 SHA512 77e2a2dd82fd13292edced8c9bba911579f2b4984a64223e8c80f41b5605220f1433beb6f40e0746163d894d4405296e1f40584eb069f960866df97e6057b569 WHIRLPOOL 4784e8da4e04406a1261c9a539280c90936141b6061e567c70f9e4b566d45e0275b2513d66c03a5473fee6f434e0cf0242e7ac21eafe59a8c26c7c6bf7040876 AUX clang-3.7-strip_doc_refs.patch 2213 SHA256 5b1e7cc9264d55d3c8213cbf4c6701ad01652da1159ba0bf620cbe7a3382cfdd SHA512 dbe382a64e01c148b6e33734c1b423148584a15037c651cc56691146a1419559006a605c9bfb4ae72d23702ea48f1f40903bd0faf95c1d0ac3c8bd68c4238cdf WHIRLPOOL 5c884f67413af976f1146a2705c1096a7425ca90d13686b9f71f2230447ebe1d1bd39a93e32ef01b4ec6178fbd199b05bcf8d0a6780637914f3bac86955409c3 +AUX clang-3.8-compiler-rt-fbsd.patch 1101 SHA256 1490f7343a7ba632057e7e38e5885b5f2a0c212243673bf06e0ffa5eeac69253 SHA512 f1c23ce15090e2c75f43796dbdb0fef113f55aa633aebf041ab894638221f13dea195409063db663033cfef8963793b2578e16c42b8237bc342107e6d73f22dc WHIRLPOOL bc8b078dca18c5b31abbd45b08b4e17383a007620f730a5331ab7e6dd5d937686d3875589375cfb7280d18e5d327c86fcf9e8cf82f25f91ffa1b9779e8822df5 +AUX clang-3.8-gcc4.9-search-path.patch 4800 SHA256 bc0d359d971811a1d4fdf4444e72987f7defcc5309af48f2410a410d6e781625 SHA512 8104fe788344718a68e65db5bdee1ba317c6fb9c0c5fab255b6987790e0c4ac6e24abbe10d6ac340176fa4b726cc38c3e8bd282fc993e2155fa96aa98a72e4be WHIRLPOOL b43138f34f3dff9a1841d6476abb312471dda5dfa58732a4cedcbe1a5df576aac5617d44e58202d32c8b11498a8cc1da1913487b866d18556bde93cc7566e7c5 AUX cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch 1404 SHA256 c9692562264ee6a25c3a2f25c990fab763aee36014de3ef95aa1d35a89aa0c0b SHA512 41dfe489adc0a45e4ffd5961c973fe94934d542b1474bb2dba4320b75ed6ff22ce0ac4b590ff20e626ea7c14617c9703ce1fd4d8d6bf1bd3b26ab0adeea373f0 WHIRLPOOL a9d84dc513118cab6310ea46c7b2e67654c81cd3c783d5db8e9ea3657fc1658e80fe4663399d4e35f99294ea9a98fb422e9077a6c8b73a3a98bbc8b282d1e9ad AUX cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch 954 SHA256 6518c1a1fdce0371aa1a9dab790c0999440e7971ab2613f6d348250ace9310d2 SHA512 e4721c13add5f65126a3d84b9b66ce7086f435c9d2a729edca7bfc3c6f185afb2b5422c7f5045c1a3a4f82c5e3d5616b647bfad9975bb73ecf228235f1d9f588 WHIRLPOOL f35f09b2d29de42dba9c28825af5feec562860f25206589b0a9dcd1daea27c317da1385bdaa5c562b2f4c0613071c3bc1fbfcddece97cd13debaddd14324d552 AUX cmake/0004-cmake-Do-not-install-libgtest.patch 835 SHA256 ed1531681603507fc674babd1f117063dcceb856151c20fd967d667d0dd83f2d SHA512 156f3b56e1bfe17804d3543a109567dcc10bac7a77f440d97bb900cc61f1e7bfe195ea3cf97bffbae7b132ebe31ad9d1acf5aca462a4aa01575909971ffdcf06 WHIRLPOOL d8bdc2032cec631c89d77a8fd231a0c22eeb5f9c99b8fda1068fb0e9fc10c81dc2d1bc71e8254ebea6392cfe3700427879841f7a6fcca3cd4c72ec1f1cdd56b0 @@ -68,36 +70,18 @@ AUX llvm-3.8-lldb_six.patch 766 SHA256 fbd732d0f2a5fe0b2d0b5507525cff250efe86838 AUX llvm-3.8-llvm-config.patch 4899 SHA256 2c3f1924652351c4e1f0eb59c560a94d333b2719ffe7e25891de9bd4efa203a6 SHA512 48e64847a7d767e67c3eb46342db5336bba96b9359becb0420f244a363968d9c5a856a46f9706c6475b8dcf50884f4257632faddd4ec6a66c8986cdb474ebdb5 WHIRLPOOL b5cb5d66f94c7167fa8d9f2fc7a4f9b41453fb282783200068710ebb3bc6bf9a8e7c892154f31bead88030e9880ad8a2986c93226b80aa17580e6aa7c720b73f AUX llvm-3.8-soversion.patch 854 SHA256 faf88664d7adae8d1db834d177250279060c9e1dd59b47c3d2fae071d6b85b6c SHA512 201858f3ef2f14c98ed5647a1cfea76a455ef79482d32b7e191a11b28f3a3517f792b05e11655850245c5ac3d0c6fb0796a4f1dc5a2c72ddfc055b57f35c4538 WHIRLPOOL d817361a427b53c3daf8270a3cc9e202b3dc19b5937042ee4d68572b1fa3086c64b63d6255f2021c18cd927cf419374369ed21e980d6a200a07bcdb0fac965b5 AUX llvm-3.9-llvm-config.patch 3160 SHA256 aaed834ab50d19a910e471415edc240e02da9029b0ab54f33bf1657770322fd3 SHA512 6d9dbba89425955f7f804b1042b131e9b221394a1422425e66e2f46b6249d8cb1a9d28210924d9ae9c054bc2808303abbec48a8b1d23a1419c793acbc366cf68 WHIRLPOOL cbcb0a32ded8bff3a7d44a559787319ba662b452401b52f707272ded101de4b132987d671d1208693a7e831576c7427adc5d7b45da4e33194ecb5b8268869eae -DIST cfe-3.6.0.src.tar.xz 8640776 SHA256 be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d SHA512 dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe WHIRLPOOL 0df122c9d32dba5a00a97bec4a54b7b7bd8241ef625357bcf9997e3670e7c4775becec971f572073f3ffad86c7ccf616a94c06926ef9b0528248e34958e9b43f -DIST cfe-3.6.1.src.tar.xz 8616132 SHA256 74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 SHA512 a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 WHIRLPOOL 1b4b8bb33fc7dbaeb03f32ba3544580bf0424889705b9d5130127be4d514c6d2aae5e224d71e20595a31441fc4bdd7bbf647e99e57d2c1e17fff3cff9022faa1 -DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8 -DIST cfe-3.7.0.src.tar.xz 9147204 SHA256 4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc SHA512 099d34cb019ea548c6ee85efd22b150beba0aa92061394fa3e423b1ebfe4a5c98c0586e5d56fc5c39e2b1606d36db59f442c056cc59473e32df76c8790c9d0ae WHIRLPOOL 1078d962edfb1b90044f19921f64a28c32259e34d983ddf9f9c198d13c8cd0679778a640d7a06c0bf1224d982602294c79a510034276216e3a6de21c739e6c39 DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b -DIST clang-tools-extra-3.6.0.src.tar.xz 248688 SHA256 3aa949ba82913490a75697287d9ee8598c619fae0aa6bb8fddf0095ff51bc812 SHA512 52e0cd3cce3047bb98d52e5c03ac4a8c549fcdc628f57492727f3e7659b2d4bd29ad98ab4ebab387233911fbb098861ec020b28c051e6b2c17d73dd490beebf3 WHIRLPOOL 423f018a2943d16ac605d36bece61046423974c2ffbcc7e4a9aebc5efbb2444ecead70e46bc05f51f4fedbfef338d177b5b16969e8fb0df0bbc911200ce483ae -DIST clang-tools-extra-3.6.1.src.tar.xz 248592 SHA256 f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 SHA512 3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 WHIRLPOOL b35c2118efff758358ed9945384218327767a48ae18acdaf2233a5b97e1dc5a682023ddf78d989d1278119c277aecec596c37c5dab8ea2b16a1c9348eb40d9e6 -DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd -DIST clang-tools-extra-3.7.0.src.tar.xz 276628 SHA256 8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd SHA512 c266eb327e2f50767b7d37c9d5713d6c70f590b59e4fe09d997f2eba0d54c9229ef6c8a2a903196380f67dffa7e35ebb47a9e5f2f097fd2a3c363481b72202eb WHIRLPOOL 681a5c14301990bb945e26375d0d31fa22b795101f342bcaaeb9d3e015c0f0f6b260b913388d086cb3054fc357845b34a6813e34614cdfa0de2c58fc6db7c64c +DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3 DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb -DIST compiler-rt-3.6.0.src.tar.xz 1140616 SHA256 7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 SHA512 2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 WHIRLPOOL 1836b59c2369457aac79dc113b9a76623da30195a460afd0e25997aa21855991cdee78d5aec12b45d05d7d14e42d5fc7678f1c169b5a7fd500681a34d02d4468 -DIST compiler-rt-3.6.1.src.tar.xz 1128460 SHA256 fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f SHA512 121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a WHIRLPOOL fabbf5a63734f879d1698cd65846beb1cfa8559009b37bf5b5f4e239e62c9a9014d484233674cf357fb7aabb04ac8df840e832c764caf4b4a3b662ff0a51115e -DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d -DIST compiler-rt-3.7.0.src.tar.xz 1192832 SHA256 227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b SHA512 2ba6abb3d6ec7f1469cfe1d48fde2069e9a767d19144f80f05516ac63f353ace90a9df3e9d1c1f708f3c397aba0ec61b12e4f105b25a2e1cd26b25b0dd252bc9 WHIRLPOOL 8bb535b667a7fdc1710d32e0912daee3798049f78cf70a03abc409157f02602b77f290b66185a35c464e512e55d57aab0125be6ae4843f6233f4017228afb579 +DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9 DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325 WHIRLPOOL 0bea047e48622884a6fc6bb3826046e9de5b3192006cc41c0ccd9d6c611674869c3c15988b531a0f7d9fea2cf951b90ecef385b85db765c6f99a48692fdcf223 -DIST lldb-3.7.0.src.tar.xz 10649660 SHA256 f4d7505bc111044eaa4033af012221e492938405b62522b8e3e354c20c4b71e9 SHA512 52157782ef13e2c8b7b35ff3ccc05887195fe46ddb6bafcf0707a3c46c1e034734b55342b8dbfc46cae7a8c3cb1012345284e4bedb2344c5016b8d19a12e90df WHIRLPOOL 8c0803a51820ec67944e27061c858e95a92aefa38a1540241fead2b63c5b065c1268cf958b14d8841f62fc8aea5da1e20204704426598bfc2c4e61bcda135c43 +DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5 DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a -DIST llvm-3.6.0-manpages.tar.bz2 35140 SHA256 53b14a7896f6db547fa692b43fb5b08898b251699ec505a2b9d9c9c3b632eed7 SHA512 2efe21ecaf10ced3e078e7675918f5b7fe6cfa3ba6371906f832690858024c57f4868a3af54b6de18c980d6008992d08ae21bc2a678ef12652a0a0eabad52a15 WHIRLPOOL f6bfc9ec0432566b70ab16aa99628a64e0d9f325db72a37cb1b04d6a3521625b37b858770ac1c9e313612d9475d7832f683fbbc2c3acad97c99daeb39383df45 -DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce SHA512 ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 WHIRLPOOL 4f9de6b8dd2514e7b55e8c6e6af2ab9d355ebf49f1bd113a652f71809d74060792a95f6cee5b8b3bd64d92586b46e7778f616027702c98eb726ee84375e4eea6 -DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b -DIST llvm-3.6.1.src.tar.xz 12798852 SHA256 2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a SHA512 fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f WHIRLPOOL c6340956e9935c0e4a986f1a8da9458ca3b3a7bdff376d33c7a3c60bc5154fb5820bfaf43fb4118f28ab9b0f356f436672fd2f984bc629eeee01233b703030fb -DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f +DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049 DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358 -DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70 -EBUILD llvm-3.6.0.ebuild 15285 SHA256 f9dc886bcd3163182f9366952e2ba6efc55c2b798b615ea33620912260dd922f SHA512 7e372b0fdd2ddce4ad4f1814c593a6e47e1d962fa24e983d8db101251662e64ed723edee83b27d11a35de71bd7c3170ad6992ad44c770533b845d77b3ebc9272 WHIRLPOOL 7d67c7bc55c0734bee38ed3fc2dfa3677eac1a11df8d0e533f62afc5f32c55a08931fe1371b86e3774b704ba26cf08c15eed7efd5620bd387c077391e5bbbcfa -EBUILD llvm-3.6.1.ebuild 15554 SHA256 f1f007fa874bc33f5c1cdc9622ba17badc64d03fa91f3d4b690cb8faaddfcfd8 SHA512 5f18a894cfd0f8687f8ddc0fdca4de85ddeff1f06a662e0830cfe36c6adb2add2a2871059fd78354ece0b527638e4ba08e73e22cfc05e8738feca10002bacaf5 WHIRLPOOL d851589c993b8711e62b1fe7317f31bc009561fa541da68259d812ecb3202e2649b21333fb86fba74c410fea5d1233d6be5fc010497f588f42fdcd50493fe6b6 -EBUILD llvm-3.6.2.ebuild 15791 SHA256 91585a09b6955349b227f94a71c6ac564b7e9a3701dc151745967ca2248b96c0 SHA512 8b52a8b2f321f9508398368194710db12545904fbc5ef01e3f3ad16800644f67609916a09aa2753fa23f3c1add7997b2d9e4bb1cc95a2cb87fd5ed01cb957b46 WHIRLPOOL 1c58a81dba8c63b0d92f29eaf309780548f34c730c181107625e04f60831387986089c42e49c0f284faf781cf0bb00368d24e043e4800caa03b34430f5d55a09 -EBUILD llvm-3.7.0-r1.ebuild 14656 SHA256 fe5040ed23d8d368e812be09f200767e914849fd300edfc1c80bd7bba10d99a4 SHA512 0d1c09b05f9e6b57f13f6ca1a6f26f523f25e2b57d56e8199c78706a670be489fe9e6b4da0e7c473bcb79bfc60e9daf6e90673e6445fa8da79341e9644a7ae32 WHIRLPOOL 84ddcc6c94f51e59d8b6444e89bdd2d72d4411a3bb5c38d010a0560993e0ed36235b67209d389e361e9e645c2c151337414eb3db634aba4851372c15320268d8 -EBUILD llvm-3.7.0.ebuild 14056 SHA256 12f9a4b1a178b193a5cab94c00f448eb538d31056d5e34915a173caf52ea0b87 SHA512 1951a8ab684aaa9de60a2a1b86534cc57ea56bf4d3deb82a8638685f09b0ff3b01c86fafeb8514d4df24892119eba1a69cf2bf99ca12d584f9eb455f3a74448f WHIRLPOOL 9ebf4aa05d6fdaf3e5fb690d75a3996229214197f057dd4695dff0e7dac49492b4b292ce0497dcd8dcd64bdc2975b08540cbc3f458350b1f412f040a6505e7b8 +DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676 +DIST llvm-3.8.0.src.tar.xz 16580932 SHA256 555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46 SHA512 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138 WHIRLPOOL f7219f3324080f22158b08eb23b5b545d303090d0bb8cde6ee971da829dd52837832a127792b153006568e0c7c0163c1095d1e258600f4359df347148e965b94 EBUILD llvm-3.7.1-r1.ebuild 16167 SHA256 c7d895327deea82d9067a787823615bb3d4d169f938a68e0670caeae98f1ca7e SHA512 88bbcd62b02aa9a0039a94e28aa67980e62ce8f42d9e99627a3821a82ed9cd1bd7632bc28a2202473c91c051978fbc0cb5dbd107a7c5d520174e8483c2c58ca0 WHIRLPOOL 6bf31fc553129989eadb64dd391d1f60c023280bdc134bbd934d2a418827d677700b6ec847a41d61c85a5e58c9033558613351fd4c66baddab85e312acaebeac -EBUILD llvm-9999.ebuild 13970 SHA256 cbdb999ccbf7a8be6a986a23f3cb38de22bfdb0eb9fe05bc08dd72c84a4b75d9 SHA512 d7ccb82b1b3ddac2abd0aeaacf14717aa33f075d703aa993e8f3eae928a6aff4c67c00b7a194f8f365e3b225e4fde6391e8fe72daf34d4b2d84a4d78fe6533c2 WHIRLPOOL 50a961dea8e4fd2956d47cf9345a8c4944895dd60fe87cdce3371019c04f19783ed3e84d059dabd8b26b1486f10e8df51cc027e8f15e70e21fc71db25248829c +EBUILD llvm-3.8.0-r3.ebuild 15763 SHA256 492c4f96e6a0aa17a3be9d40c01a1df7445647d4d898c7447506bf782fa744e6 SHA512 a9651a1c38ee0c31e5beca63002b7b638af9c6c4fed31ff8a640c552d7a818180a0025ff994e66f94e4ce2e06f0235855549fde9b069b4c3273760a72eb8c05c WHIRLPOOL b165cb4bcf2f36ec138337b85c448862cdeab5067753148675a78e597dad0c5340072de2ced943c71ff3b2e4eb0e76c982e4185c51f17699ad3862302ec31ec9 MISC metadata.xml 2785 SHA256 7329cb36d95ea94ccabceb9d228eb77cb3186e53b360dc27717393338d4147fc SHA512 3acac76248322ac92fae2a4cde7fa113b356f43bafabd5bd99d6937b4f9a39f74676de65c17cd8df634b65052a0777f6336aed598ccc1dd17a97a564096ae9d5 WHIRLPOOL 87d38e5091fc1ea70282a637864a268a928acb40b3b4c962cca543a48adf78ad035f391bba4099983fa1384854052966bcf1d839bdfa72c9081f876d5478c800 diff --git a/sys-devel/llvm/files/clang-3.8-compiler-rt-fbsd.patch b/sys-devel/llvm/files/clang-3.8-compiler-rt-fbsd.patch new file mode 100644 index 0000000..297620b --- /dev/null +++ b/sys-devel/llvm/files/clang-3.8-compiler-rt-fbsd.patch @@ -0,0 +1,20 @@ +https://llvm.org/bugs/show_bug.cgi?id=26651 +https://github.com/llvm-mirror/compiler-rt/commit/6606c7b50cbb4ec7eab4ecbebbbaaa049734bbd3 + +diff --git a/projects/compiler-rt/lib/tsan/CMakeLists.txt b/projects/compiler-rt/lib/tsan/CMakeLists.txt +index c185cfa..a151c6c 100644 +--- a/projects/compiler-rt/lib/tsan/CMakeLists.txt ++++ b/projects/compiler-rt/lib/tsan/CMakeLists.txt +@@ -192,7 +192,11 @@ endif() + add_dependencies(compiler-rt tsan) + + # Make sure that non-platform-specific files don't include any system headers. +-if(COMPILER_RT_HAS_SYSROOT_FLAG) ++# FreeBSD does not install a number of Clang-provided headers for the compiler ++# in the base system due to incompatibilities between FreeBSD's and Clang's ++# versions. As a workaround do not use --sysroot=. on FreeBSD until this is ++# addressed. ++if(COMPILER_RT_HAS_SYSROOT_FLAG AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + file(GLOB _tsan_generic_sources rtl/tsan*) + file(GLOB _tsan_platform_sources rtl/tsan*posix* rtl/tsan*mac* + rtl/tsan*linux*) diff --git a/sys-devel/llvm/files/clang-3.8-gcc4.9-search-path.patch b/sys-devel/llvm/files/clang-3.8-gcc4.9-search-path.patch new file mode 100644 index 0000000..bafe218 --- /dev/null +++ b/sys-devel/llvm/files/clang-3.8-gcc4.9-search-path.patch @@ -0,0 +1,70 @@ +From af4db76e059c1a3f4a7f437001051ccebc8a50fe Mon Sep 17 00:00:00 2001 +From: Chandler Carruth <chandlerc@gmail.com> +Date: Sun, 8 May 2016 07:59:56 +0000 +Subject: [PATCH] Teach header search about GCC 4.9 header search paths in + Gentoo, they now use the full GCC version in their weird suffix. + +git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268874 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + lib/Driver/ToolChains.cpp | 1 + + .../Inputs/gentoo_linux_gcc_4.9.3_tree/usr/include/.keep | 0 + .../usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbegin.o | 0 + .../x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/.keep | 0 + .../usr/x86_64-pc-linux-gnu/lib/.keep | 0 + test/Driver/linux-header-search.cpp | 15 +++++++++++++++ + 6 files changed, 16 insertions(+) + create mode 100644 test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/include/.keep + create mode 100644 test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbegin.o + create mode 100644 test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/.keep + create mode 100644 test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/x86_64-pc-linux-gnu/lib/.keep + +diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp +index f905b5d..1bf17e4 100644 +--- a/tools/clang/lib/Driver/ToolChains.cpp ++++ b/tools/clang/lib/Driver/ToolChains.cpp +@@ -4134,6 +4134,7 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, + const std::string LibStdCXXIncludePathCandidates[] = { + // Gentoo is weird and places its headers inside the GCC install, + // so if the first attempt to find the headers fails, try these patterns. ++ InstallDir.str() + "/include/g++-v" + Version.Text, + InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." + + Version.MinorStr, + InstallDir.str() + "/include/g++-v" + Version.MajorStr, +diff --git a/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/include/.keep b/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/include/.keep +new file mode 100644 +index 0000000..e69de29 +diff --git a/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbegin.o b/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbegin.o +new file mode 100644 +index 0000000..e69de29 +diff --git a/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/.keep b/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/.keep +new file mode 100644 +index 0000000..e69de29 +diff --git a/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/x86_64-pc-linux-gnu/lib/.keep b/tools/clang/test/Driver/Inputs/gentoo_linux_gcc_4.9.3_tree/usr/x86_64-pc-linux-gnu/lib/.keep +new file mode 100644 +index 0000000..e69de29 +diff --git a/tools/clang/test/Driver/linux-header-search.cpp b/tools/clang/test/Driver/linux-header-search.cpp +index 9568bde..5f6ac50 100644 +--- a/tools/clang/test/Driver/linux-header-search.cpp ++++ b/tools/clang/test/Driver/linux-header-search.cpp +@@ -285,6 +285,21 @@ + // CHECK-GENTOO-4-6-4: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include" + // CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/include" + // CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" ++// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ ++// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \ ++// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.9.3_tree \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-9-3 %s ++// CHECK-GENTOO-4-9-3: "{{.*}}clang{{.*}}" "-cc1" ++// CHECK-GENTOO-4-9-3: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" ++// CHECK-GENTOO-4-9-3: "-isysroot" "[[SYSROOT:[^"]+]]" ++// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3" ++// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/x86_64-pc-linux-gnu" ++// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/backward" ++// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/local/include" ++// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include" ++// CHECK-GENTOO-4-9-3: "-internal-externc-isystem" "[[SYSROOT]]/include" ++// CHECK-GENTOO-4-9-3: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" + // + // Check header search on Debian 6 / MIPS64 + // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ diff --git a/sys-devel/llvm/llvm-3.6.0.ebuild b/sys-devel/llvm/llvm-3.6.0.ebuild deleted file mode 100644 index b789793..0000000 --- a/sys-devel/llvm/llvm-3.6.0.ebuild +++ /dev/null @@ -1,534 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 pypy ) - -inherit eutils flag-o-matic multibuild multilib \ - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/3.6" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python - +static-analyzer test xml video_cards_radeon - kernel_Darwin kernel_FreeBSD" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2= ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - ocaml? ( - dev-lang/ocaml:0= - dev-ml/findlib - dev-ml/ocaml-ctypes )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - libffi? ( virtual/pkgconfig ) - !!<dev-python/configparser-3.3.0.2 - ocaml? ( test? ( dev-ml/ounit ) ) - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 - !>=sys-devel/clang-9999 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P/_}.src - -# Some people actually override that in make.conf. That sucks since -# we need to run install per-directory, and ninja can't do that... -# so why did it call itself ninja in the first place? -CMAKE_MAKEFILE_GENERATOR=emake - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq '-g?(gdb)?([1-9])'; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ - || die "symlinks removal failed" - - if use clang; then - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch - epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch - # Make ocaml warnings non-fatal, bug #537308 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp - fi - - if use prefix && use clang; then - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ - projects/compiler-rt/make/platform/clang_*.mk || die - fi - - local sub_files=( - Makefile.config.in - Makefile.rules - tools/llvm-config/llvm-config.cpp - ) - use clang && sub_files+=( - tools/clang/lib/Driver/Tools.cpp - tools/clang/tools/scan-build/scan-build - ) - - # unfortunately ./configure won't listen to --mandir and the-like, so take - # care of this. - # note: we're setting the main libdir intentionally. - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. - einfo "Fixing install dirs" - sed -e "s,@libdir@,$(get_libdir),g" \ - -e "s,@PF@,${PF},g" \ - -e "s,@EPREFIX@,${EPREFIX},g" \ - -i "${sub_files[@]}" \ - || die "install paths sed failed" - - if use clang; then - # constantly fails for a long time, likely due to our patches - rm tools/clang/test/Driver/cross-linux.c || die - fi - - # User patches - epatch_user - - python_setup -} - -multilib_src_configure() { - # disable timestamps since they confuse ccache - local conf_flags=( - --disable-timestamps - --enable-keep-symbols - --enable-shared - --with-optimize-option= - $(tc-is-static-only && echo --disable-shared) - $(use_enable !debug optimized) - $(use_enable debug assertions) - $(use_enable debug expensive-checks) - $(use_enable libedit) - $(use_enable ncurses terminfo) - $(use_enable libffi) - ) - - # well, it's used only by clang executable c-index-test - if multilib_is_native_abi && use clang && use xml; then - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) - else - conf_flags+=( ac_cv_prog_XML2CONFIG="" ) - fi - - local targets bindings - if use multitarget; then - targets='all' - else - targets='host,cpp' - use video_cards_radeon && targets+=',r600' - fi - conf_flags+=( --enable-targets=${targets} ) - - if multilib_is_native_abi; then - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) - # extra commas don't hurt - use ocaml && bindings+=',ocaml' - fi - - [[ ${bindings} ]] || bindings='none' - conf_flags+=( --enable-bindings=${bindings} ) - - if use libffi; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags "$(pkg-config --cflags libffi)" - fi - - # llvm prefers clang over gcc, so we may need to force that - tc-export CC CXX - - ECONF_SOURCE=${S} \ - econf "${conf_flags[@]}" -} - -set_makeargs() { - MAKEARGS=( - VERBOSE=1 - REQUIRES_RTTI=1 - GENTOO_LIBDIR=$(get_libdir) - ) - - # for tests, we want it all! otherwise, we may use a little filtering... - # adding ONLY_TOOLS also disables unittest building... - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then - local tools=( llvm-config ) - use clang && tools+=( clang ) - - if multilib_is_native_abi; then - tools+=( - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov - llvm-size llvm-stress llvm-mcmarkup llvm-profdata - llvm-symbolizer obj2yaml yaml2obj lto bugpoint - ) - - # the build system runs explicitly specified tools in parallel, - # so we need to split it into two runs - if [[ ${1} != -1 ]]; then - # those require lto - tools+=( llvm-lto ) - use gold && tools+=( gold ) - - # those require clang :) - # we need to explicitly specify all its tools - # since we're passing BUILD_CLANG_ONLY - use clang && tools+=( - clang/tools/{clang-check,clang-format,extra} - ) - fi - fi - - MAKEARGS+=( - # filter tools + disable unittests implicitly - ONLY_TOOLS="${tools[*]}" - - # this disables unittests & docs from clang - BUILD_CLANG_ONLY=YES - ) - fi -} - -multilib_src_compile() { - local MAKEARGS - set_makeargs -1 - emake "${MAKEARGS[@]}" - - if multilib_is_native_abi; then - set_makeargs - emake -C tools "${MAKEARGS[@]}" - - if use doc; then - emake -C "${S}"/docs -f Makefile.sphinx man - use clang && emake -C "${S}"/tools/clang/docs/tools \ - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man - emake -C "${S}"/docs -f Makefile.sphinx html - fi - fi - - if use debug; then - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld - pax-mark m Debug+Asserts+Checks/bin/lli - pax-mark m Debug+Asserts+Checks/bin/lli-child-target - else - pax-mark m Release/bin/llvm-rtdyld - pax-mark m Release/bin/lli - pax-mark m Release/bin/lli-child-target - fi -} - -multilib_src_test() { - local MAKEARGS - set_makeargs - - # build the remaining tools & unittests - emake "${MAKEARGS[@]}" - - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests - pax-mark m unittests/Support/Release/SupportTests - - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - emake "${MAKEARGS[@]}" check - use clang && emake "${MAKEARGS[@]}" -C tools/clang test -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied below - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-${PV} - /usr/bin/clang++-${PV} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install - - # Remove unnecessary headers on FreeBSD, bug #417171 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h -} - -multilib_src_install() { - local MAKEARGS - set_makeargs - - local root=${D}/_${ABI} - - emake "${MAKEARGS[@]}" DESTDIR="${root}" install - multibuild_merge_root "${root}" "${D}" - - if ! multilib_is_native_abi; then - # Backwards compat, will be happily removed someday. - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} - else - # Install docs. - if use doc; then - doman "${S}"/docs/_build/man/*.1 - use clang && doman "${T}"/clang.1 - dohtml -r "${S}"/docs/_build/html/ - else - if ! use clang; then - rm "${WORKDIR}"/${P}-manpages/clang.1 || die - fi - doman "${WORKDIR}"/${P}-manpages/*.1 - fi - - # Symlink the gold plugin. - if use gold; then - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins - dosym ../../../../$(get_libdir)/LLVMgold.so \ - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so - fi - fi - - # apply CHOST and PV to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ ) - local i - - # append ${PV} and symlink back - # TODO: use alternatives.eclass? does that make any sense? - # maybe with USE=-clang on :0 and USE=clang on older - for i in "${clang_tools[@]}"; do - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die - dosym "${i}"-${PV} /usr/bin/${i} - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${PV}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${PV}" - done - fi - fi - - # Fix install_names on Darwin. The build system is too complicated - # to just fix this, so we correct it post-install - local lib= f= odylib= ndylib= libpv=${PV} - if [[ ${CHOST} == *-darwin* ]] ; then - eval $(grep PACKAGE_VERSION= configure) - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} - libpvminor=${libpv%.[0-9]*} - for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do - # libEnhancedDisassembly is Darwin10 only, so non-fatal - # + omit clang libs if not enabled - [[ -f ${ED}/usr/lib/${lib} ]] || continue - - ebegin "fixing install_name of $lib" - install_name_tool \ - -id "${EPREFIX}"/usr/lib/${lib} \ - "${ED}"/usr/lib/${lib} - eend $? - done - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do - # omit clang libs if not enabled - [[ -f "${f}" ]] || continue - - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ - while read odylib ; do - ndylib= - case ${odylib} in - */libclang.dylib) - ndylib="${EPREFIX}"/usr/lib/libclang.dylib - ;; - */libLLVM-${libpv}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib - ;; - */libLLVM-${libpvminor}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib - ;; - */libLTO.dylib) - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib - ;; - esac - if [[ -n ${ndylib} ]] ; then - ebegin "fixing install_name reference to ${odylib} of ${f##*/}" - install_name_tool \ - -change "${odylib}" "${ndylib}" \ - "${f}" - eend $? - fi - done - done - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles/syntax - doins utils/vim/*.vim - - if use clang; then - cd tools/clang || die - - if use static-analyzer ; then - dobin tools/scan-build/ccc-analyzer - dosym ccc-analyzer /usr/bin/c++-analyzer - dobin tools/scan-build/scan-build - - insinto /usr/share/${PN} - doins tools/scan-build/scanview.css - doins tools/scan-build/sorttable.js - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule __init__.py cindex.py enumerations.py - - popd >/dev/null || die - fi - - # AddressSanitizer symbolizer (currently separate) - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py - } - python_foreach_impl python_inst - fi -} diff --git a/sys-devel/llvm/llvm-3.6.1.ebuild b/sys-devel/llvm/llvm-3.6.1.ebuild deleted file mode 100644 index 6cc8a46..0000000 --- a/sys-devel/llvm/llvm-3.6.1.ebuild +++ /dev/null @@ -1,541 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 pypy ) - -inherit eutils flag-o-matic multibuild multilib \ - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/3.6" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python - +static-analyzer test xml video_cards_radeon - kernel_Darwin kernel_FreeBSD" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2= ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - ocaml? ( - dev-lang/ocaml:0= - dev-ml/findlib - dev-ml/ocaml-ctypes )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) - kernel_Darwin? ( sys-libs/libcxx ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - libffi? ( virtual/pkgconfig ) - !!<dev-python/configparser-3.3.0.2 - ocaml? ( test? ( dev-ml/ounit ) ) - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 - !>=sys-devel/clang-9999 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P/_}.src - -# Some people actually override that in make.conf. That sucks since -# we need to run install per-directory, and ninja can't do that... -# so why did it call itself ninja in the first place? -CMAKE_MAKEFILE_GENERATOR=emake - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq '-g?(gdb)?([1-9])'; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ - || die "symlinks removal failed" - - if use clang; then - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch - epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch - epatch "${FILESDIR}"/${PN}-3.6.0-ocaml-ctypes-0.4.0.patch - # Make ocaml warnings non-fatal, bug #537308 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp - - # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444 - epatch "${FILESDIR}"/clang-3.6-fbsd-gcc49.patch - fi - - if use prefix && use clang; then - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ - projects/compiler-rt/make/platform/clang_*.mk || die - fi - - local sub_files=( - Makefile.config.in - Makefile.rules - tools/llvm-config/llvm-config.cpp - ) - use clang && sub_files+=( - tools/clang/lib/Driver/Tools.cpp - tools/clang/tools/scan-build/scan-build - ) - - # unfortunately ./configure won't listen to --mandir and the-like, so take - # care of this. - # note: we're setting the main libdir intentionally. - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. - einfo "Fixing install dirs" - sed -e "s,@libdir@,$(get_libdir),g" \ - -e "s,@PF@,${PF},g" \ - -e "s,@EPREFIX@,${EPREFIX},g" \ - -i "${sub_files[@]}" \ - || die "install paths sed failed" - - if use clang; then - # constantly fails for a long time, likely due to our patches - rm tools/clang/test/Driver/cross-linux.c || die - fi - - # User patches - epatch_user - - python_setup -} - -multilib_src_configure() { - # disable timestamps since they confuse ccache - local conf_flags=( - --disable-timestamps - --enable-keep-symbols - --enable-shared - --with-optimize-option= - $(tc-is-static-only && echo --disable-shared) - $(use_enable !debug optimized) - $(use_enable debug assertions) - $(use_enable debug expensive-checks) - $(use_enable libedit) - $(use_enable ncurses terminfo) - $(use_enable libffi) - ) - - # well, it's used only by clang executable c-index-test - if multilib_is_native_abi && use clang && use xml; then - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) - else - conf_flags+=( ac_cv_prog_XML2CONFIG="" ) - fi - - local targets bindings - if use multitarget; then - targets='all' - else - targets='host,cpp' - use video_cards_radeon && targets+=',r600' - fi - conf_flags+=( --enable-targets=${targets} ) - - if multilib_is_native_abi; then - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) - # extra commas don't hurt - use ocaml && bindings+=',ocaml' - fi - - [[ ${bindings} ]] || bindings='none' - conf_flags+=( --enable-bindings=${bindings} ) - - if use libffi; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags "$(pkg-config --cflags libffi)" - fi - - # Enable large file support, bug #550708 - append-lfs-flags - # llvm prefers clang over gcc, so we may need to force that - tc-export CC CXX - - ECONF_SOURCE=${S} \ - econf "${conf_flags[@]}" -} - -set_makeargs() { - MAKEARGS=( - VERBOSE=1 - REQUIRES_RTTI=1 - GENTOO_LIBDIR=$(get_libdir) - ) - - # for tests, we want it all! otherwise, we may use a little filtering... - # adding ONLY_TOOLS also disables unittest building... - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then - local tools=( llvm-config ) - use clang && tools+=( clang ) - - if multilib_is_native_abi; then - tools+=( - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov - llvm-size llvm-stress llvm-mcmarkup llvm-profdata - llvm-symbolizer obj2yaml yaml2obj lto bugpoint - ) - - # the build system runs explicitly specified tools in parallel, - # so we need to split it into two runs - if [[ ${1} != -1 ]]; then - # those require lto - tools+=( llvm-lto ) - use gold && tools+=( gold ) - - # those require clang :) - # we need to explicitly specify all its tools - # since we're passing BUILD_CLANG_ONLY - use clang && tools+=( - clang/tools/{clang-check,clang-format,extra} - ) - fi - fi - - MAKEARGS+=( - # filter tools + disable unittests implicitly - ONLY_TOOLS="${tools[*]}" - - # this disables unittests & docs from clang - BUILD_CLANG_ONLY=YES - ) - fi -} - -multilib_src_compile() { - local MAKEARGS - set_makeargs -1 - emake "${MAKEARGS[@]}" - - if multilib_is_native_abi; then - set_makeargs - emake -C tools "${MAKEARGS[@]}" - - if use doc; then - emake -C "${S}"/docs -f Makefile.sphinx man - use clang && emake -C "${S}"/tools/clang/docs/tools \ - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man - emake -C "${S}"/docs -f Makefile.sphinx html - fi - fi - - if use debug; then - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld - pax-mark m Debug+Asserts+Checks/bin/lli - pax-mark m Debug+Asserts+Checks/bin/lli-child-target - else - pax-mark m Release/bin/llvm-rtdyld - pax-mark m Release/bin/lli - pax-mark m Release/bin/lli-child-target - fi -} - -multilib_src_test() { - local MAKEARGS - set_makeargs - - # build the remaining tools & unittests - emake "${MAKEARGS[@]}" - - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests - pax-mark m unittests/Support/Release/SupportTests - - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - emake "${MAKEARGS[@]}" check - use clang && emake "${MAKEARGS[@]}" -C tools/clang test -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied below - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-${PV} - /usr/bin/clang++-${PV} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install - - # Remove unnecessary headers on FreeBSD, bug #417171 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h -} - -multilib_src_install() { - local MAKEARGS - set_makeargs - - local root=${D}/_${ABI} - - emake "${MAKEARGS[@]}" DESTDIR="${root}" install - multibuild_merge_root "${root}" "${D}" - - if ! multilib_is_native_abi; then - # Backwards compat, will be happily removed someday. - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} - else - # Install docs. - if use doc; then - doman "${S}"/docs/_build/man/*.1 - use clang && doman "${T}"/clang.1 - dohtml -r "${S}"/docs/_build/html/ - else - if ! use clang; then - rm "${WORKDIR}"/${P}-manpages/clang.1 || die - fi - doman "${WORKDIR}"/${P}-manpages/*.1 - fi - - # Symlink the gold plugin. - if use gold; then - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins - dosym ../../../../$(get_libdir)/LLVMgold.so \ - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so - fi - fi - - # apply CHOST and PV to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ ) - local i - - # append ${PV} and symlink back - # TODO: use alternatives.eclass? does that make any sense? - # maybe with USE=-clang on :0 and USE=clang on older - for i in "${clang_tools[@]}"; do - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die - dosym "${i}"-${PV} /usr/bin/${i} - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${PV}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${PV}" - done - fi - fi - - # Fix install_names on Darwin. The build system is too complicated - # to just fix this, so we correct it post-install - local lib= f= odylib= ndylib= libpv=${PV} - if [[ ${CHOST} == *-darwin* ]] ; then - eval $(grep PACKAGE_VERSION= configure) - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} - libpvminor=${libpv%.[0-9]*} - for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do - # libEnhancedDisassembly is Darwin10 only, so non-fatal - # + omit clang libs if not enabled - [[ -f ${ED}/usr/lib/${lib} ]] || continue - - ebegin "fixing install_name of $lib" - install_name_tool \ - -id "${EPREFIX}"/usr/lib/${lib} \ - "${ED}"/usr/lib/${lib} - eend $? - done - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do - # omit clang libs if not enabled - [[ -f "${f}" ]] || continue - - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ - while read odylib ; do - ndylib= - case ${odylib} in - */libclang.dylib) - ndylib="${EPREFIX}"/usr/lib/libclang.dylib - ;; - */libLLVM-${libpv}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib - ;; - */libLLVM-${libpvminor}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib - ;; - */libLTO.dylib) - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib - ;; - esac - if [[ -n ${ndylib} ]] ; then - ebegin "fixing install_name reference to ${odylib} of ${f##*/}" - install_name_tool \ - -change "${odylib}" "${ndylib}" \ - "${f}" - eend $? - fi - done - done - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles/syntax - doins utils/vim/*.vim - - if use clang; then - cd tools/clang || die - - if use static-analyzer ; then - dobin tools/scan-build/ccc-analyzer - dosym ccc-analyzer /usr/bin/c++-analyzer - dobin tools/scan-build/scan-build - - insinto /usr/share/${PN} - doins tools/scan-build/scanview.css - doins tools/scan-build/sorttable.js - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule __init__.py cindex.py enumerations.py - - popd >/dev/null || die - fi - - # AddressSanitizer symbolizer (currently separate) - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py - } - python_foreach_impl python_inst - fi -} diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild deleted file mode 100644 index 0a75817..0000000 --- a/sys-devel/llvm/llvm-3.6.2.ebuild +++ /dev/null @@ -1,547 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 pypy ) - -inherit eutils flag-o-matic multibuild multilib linux-info \ - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix \ - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.6.1-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/3.6" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python - +static-analyzer test xml video_cards_radeon - kernel_Darwin kernel_FreeBSD rap" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2= ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - ocaml? ( - dev-lang/ocaml:0= - dev-ml/findlib - dev-ml/ocaml-ctypes )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) - kernel_Darwin? ( sys-libs/libcxx ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - libffi? ( virtual/pkgconfig ) - !!<dev-python/configparser-3.3.0.2 - ocaml? ( test? ( dev-ml/ounit ) ) - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 - !>=sys-devel/clang-9999 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P/_}.src - -# Some people actually override that in make.conf. That sucks since -# we need to run install per-directory, and ninja can't do that... -# so why did it call itself ninja in the first place? -CMAKE_MAKEFILE_GENERATOR=emake - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq '-g?(gdb)?([1-9])'; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ - || die "symlinks removal failed" - - if use clang; then - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch - epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch - epatch "${FILESDIR}"/${PN}-3.6.0-ocaml-ctypes-0.4.0.patch - # Make ocaml warnings non-fatal, bug #537308 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp - - # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444 - epatch "${FILESDIR}"/clang-3.6-fbsd-gcc49.patch - fi - - if use prefix && use clang; then - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ - projects/compiler-rt/make/platform/clang_*.mk || die - fi - - local sub_files=( - Makefile.config.in - Makefile.rules - tools/llvm-config/llvm-config.cpp - ) - use clang && sub_files+=( - tools/clang/lib/Driver/Tools.cpp - tools/clang/tools/scan-build/scan-build - ) - - # unfortunately ./configure won't listen to --mandir and the-like, so take - # care of this. - # note: we're setting the main libdir intentionally. - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. - einfo "Fixing install dirs" - sed -e "s,@libdir@,$(get_libdir),g" \ - -e "s,@PF@,${PF},g" \ - -e "s,@EPREFIX@,${EPREFIX},g" \ - -i "${sub_files[@]}" \ - || die "install paths sed failed" - - if use clang; then - # constantly fails for a long time, likely due to our patches - rm tools/clang/test/Driver/cross-linux.c || die - fi - - # User patches - epatch_user - - if kernel_is -lt 2 6 32; then - # on RHEL5, linux/perf_event.h (needing kernel >=2.6.32) is not available. - # https://llvm.org/bugs/show_bug.cgi?id=17901 - elog "Removing compiler-rt on RHEL 5..." - rm -r projects/compiler-rt || die "Removing compiler-rt failed." - fi - - python_setup -} - -multilib_src_configure() { - # disable timestamps since they confuse ccache - local conf_flags=( - --disable-timestamps - --enable-keep-symbols - --enable-shared - --with-optimize-option= - $(tc-is-static-only && echo --disable-shared) - $(use_enable !debug optimized) - $(use_enable debug assertions) - $(use_enable debug expensive-checks) - $(use_enable libedit) - $(use_enable ncurses terminfo) - $(use_enable libffi) - ) - - # well, it's used only by clang executable c-index-test - if multilib_is_native_abi && use clang && use xml; then - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) - else - conf_flags+=( ac_cv_prog_XML2CONFIG="" ) - fi - - local targets bindings - if use multitarget; then - targets='all' - else - targets='host,cpp' - use video_cards_radeon && targets+=',r600' - fi - conf_flags+=( --enable-targets=${targets} ) - - use rap && conf_flags+=( --with-default-sysroot="${EPREFIX}" ) - - if multilib_is_native_abi; then - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) - # extra commas don't hurt - use ocaml && bindings+=',ocaml' - fi - - [[ ${bindings} ]] || bindings='none' - conf_flags+=( --enable-bindings=${bindings} ) - - if use libffi; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags "$(pkg-config --cflags libffi)" - fi - - # Enable large file support, bug #550708 - append-lfs-flags - # llvm prefers clang over gcc, so we may need to force that - tc-export CC CXX - - ECONF_SOURCE=${S} \ - econf "${conf_flags[@]}" -} - -set_makeargs() { - MAKEARGS=( - VERBOSE=1 - REQUIRES_RTTI=1 - GENTOO_LIBDIR=$(get_libdir) - ) - - # for tests, we want it all! otherwise, we may use a little filtering... - # adding ONLY_TOOLS also disables unittest building... - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then - local tools=( llvm-config ) - use clang && tools+=( clang ) - - if multilib_is_native_abi; then - tools+=( - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov - llvm-size llvm-stress llvm-mcmarkup llvm-profdata - llvm-symbolizer obj2yaml yaml2obj lto bugpoint - ) - - # the build system runs explicitly specified tools in parallel, - # so we need to split it into two runs - if [[ ${1} != -1 ]]; then - # those require lto - tools+=( llvm-lto ) - use gold && tools+=( gold ) - - # those require clang :) - # we need to explicitly specify all its tools - # since we're passing BUILD_CLANG_ONLY - use clang && tools+=( - clang/tools/{clang-check,clang-format,extra} - ) - fi - fi - - MAKEARGS+=( - # filter tools + disable unittests implicitly - ONLY_TOOLS="${tools[*]}" - - # this disables unittests & docs from clang - BUILD_CLANG_ONLY=YES - ) - fi -} - -multilib_src_compile() { - local MAKEARGS - set_makeargs -1 - emake "${MAKEARGS[@]}" - - if multilib_is_native_abi; then - set_makeargs - emake -C tools "${MAKEARGS[@]}" - - if use doc; then - emake -C "${S}"/docs -f Makefile.sphinx man - use clang && emake -C "${S}"/tools/clang/docs/tools \ - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man - emake -C "${S}"/docs -f Makefile.sphinx html - fi - fi - - if use debug; then - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld - pax-mark m Debug+Asserts+Checks/bin/lli - pax-mark m Debug+Asserts+Checks/bin/lli-child-target - else - pax-mark m Release/bin/llvm-rtdyld - pax-mark m Release/bin/lli - pax-mark m Release/bin/lli-child-target - fi -} - -multilib_src_test() { - local MAKEARGS - set_makeargs - - # build the remaining tools & unittests - emake "${MAKEARGS[@]}" - - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests - pax-mark m unittests/Support/Release/SupportTests - - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - emake "${MAKEARGS[@]}" check - use clang && emake "${MAKEARGS[@]}" -C tools/clang test -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied below - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-${PV} - /usr/bin/clang++-${PV} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install - - # Remove unnecessary headers on FreeBSD, bug #417171 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h -} - -multilib_src_install() { - local MAKEARGS - set_makeargs - - local root=${D}/_${ABI} - - emake "${MAKEARGS[@]}" DESTDIR="${root}" install - multibuild_merge_root "${root}" "${D}" - - if ! multilib_is_native_abi; then - # Backwards compat, will be happily removed someday. - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} - else - # Install docs. - if use doc; then - doman "${S}"/docs/_build/man/*.1 - use clang && doman "${T}"/clang.1 - dohtml -r "${S}"/docs/_build/html/ - else - if ! use clang; then - rm "${WORKDIR}"/${PN}-3.6.1-manpages/clang.1 || die - fi - doman "${WORKDIR}"/${PN}-3.6.1-manpages/*.1 - fi - - # Symlink the gold plugin. - if use gold; then - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins - dosym ../../../../$(get_libdir)/LLVMgold.so \ - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so - fi - fi - - # apply CHOST and PV to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ ) - local i - - # append ${PV} and symlink back - # TODO: use alternatives.eclass? does that make any sense? - # maybe with USE=-clang on :0 and USE=clang on older - for i in "${clang_tools[@]}"; do - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die - dosym "${i}"-${PV} /usr/bin/${i} - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${PV}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${PV}" - done - fi - fi - - # Fix install_names on Darwin. The build system is too complicated - # to just fix this, so we correct it post-install - local lib= f= odylib= ndylib= libpv=${PV} - if [[ ${CHOST} == *-darwin* ]] ; then - eval $(grep PACKAGE_VERSION= configure) - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} - libpvminor=${libpv%.[0-9]*} - for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do - # libEnhancedDisassembly is Darwin10 only, so non-fatal - # + omit clang libs if not enabled - [[ -f ${ED}/usr/lib/${lib} ]] || continue - - ebegin "fixing install_name of $lib" - install_name_tool \ - -id "${EPREFIX}"/usr/lib/${lib} \ - "${ED}"/usr/lib/${lib} - eend $? - done - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do - # omit clang libs if not enabled - [[ -f "${f}" ]] || continue - - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ - while read odylib ; do - ndylib= - case ${odylib} in - */libclang.dylib) - ndylib="${EPREFIX}"/usr/lib/libclang.dylib - ;; - */libLLVM-${libpv}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib - ;; - */libLLVM-${libpvminor}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib - ;; - */libLTO.dylib) - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib - ;; - esac - if [[ -n ${ndylib} ]] ; then - ebegin "fixing install_name reference to ${odylib} of ${f##*/}" - install_name_tool \ - -change "${odylib}" "${ndylib}" \ - "${f}" - eend $? - fi - done - done - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles/syntax - doins utils/vim/*.vim - - if use clang; then - cd tools/clang || die - - if use static-analyzer ; then - dobin tools/scan-build/ccc-analyzer - dosym ccc-analyzer /usr/bin/c++-analyzer - dobin tools/scan-build/scan-build - - insinto /usr/share/${PN} - doins tools/scan-build/scanview.css - doins tools/scan-build/sorttable.js - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule __init__.py cindex.py enumerations.py - - popd >/dev/null || die - fi - } - python_foreach_impl python_inst - fi -} diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild deleted file mode 100644 index d894da0..0000000 --- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild +++ /dev/null @@ -1,513 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -PYTHON_COMPAT=( python2_7 pypy ) - -inherit check-reqs cmake-utils eutils flag-o-matic multilib \ - multilib-minimal python-r1 toolchain-funcs pax-utils \ - linux-info - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz ) - !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml - python +static-analyzer test xml video_cards_radeon kernel_Darwin rap" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - ocaml? ( - dev-lang/ocaml:0= - dev-ml/findlib - dev-ml/ocaml-ctypes )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) - kernel_Darwin? ( sys-libs/libcxx ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - gold? ( sys-libs/binutils-libs ) - libffi? ( virtual/pkgconfig ) - lldb? ( dev-lang/swig ) - !!<dev-python/configparser-3.3.0.2 - ocaml? ( test? ( dev-ml/ounit ) ) - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - lldb? ( clang ) - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P/_}.src - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq '-g?(gdb)?([1-9])'; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - if use clang; then - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi - - if use lldb; then - mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \ - || die "lldb source directory move failed" - fi -} - -src_prepare() { - # Make ocaml warnings non-fatal, bug #537308 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die - # Fix libdir for ocaml bindings install, bug #559134 - epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch - - # Make it possible to override Sphinx HTML install dirs - # https://llvm.org/bugs/show_bug.cgi?id=23780 - epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch - - # Prevent race conditions with parallel Sphinx runs - # https://llvm.org/bugs/show_bug.cgi?id=23781 - epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch - - # Prevent installing libgtest - # https://llvm.org/bugs/show_bug.cgi?id=18341 - epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch - - sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ - tools/clang/tools/scan-build/scan-build || die - - # Install clang runtime into /usr/lib/clang - # https://llvm.org/bugs/show_bug.cgi?id=23792 - epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch - epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch - - # Make it possible to override CLANG_LIBDIR_SUFFIX - # (that is used only to find LLVMgold.so) - # https://llvm.org/bugs/show_bug.cgi?id=23793 - epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch - - # Fix WX sections, bug #421527 - find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \ - -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ - -i {} \; || die - fi - - if use lldb; then - # Do not install dummy readline.so module from - # https://llvm.org/bugs/show_bug.cgi?id=18841 - sed -e 's/add_subdirectory(readline)/#&/' \ - -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die - fi - - # User patches - epatch_user - if kernel_is -lt 2 6 32; then - # on RHEL5, linux/perf_event.h (needing kernel >=2.6.32) is not available. - # https://llvm.org/bugs/show_bug.cgi?id=17901 - elog "Removing compiler-rt on RHEL 5..." - rm -r projects/compiler-rt || die "Removing compiler-rt failed." - fi - - python_setup - - # Native libdir is used to hold LLVMgold.so - NATIVE_LIBDIR=$(get_libdir) -} - -multilib_src_configure() { - local targets - if use multitarget; then - targets=all - else - targets='host;CppBackend' - use video_cards_radeon && targets+=';AMDGPU' - fi - - local ffi_cflags ffi_ldflags - if use libffi; then - ffi_cflags=$(pkg-config --cflags-only-I libffi) - ffi_ldflags=$(pkg-config --libs-only-L libffi) - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - "${mycmakeargs[@]}" - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - - -DBUILD_SHARED_LIBS=ON - -DLLVM_ENABLE_TIMESTAMPS=OFF - -DLLVM_TARGETS_TO_BUILD="${targets}" - -DLLVM_BUILD_TESTS=$(usex test) - - -DLLVM_ENABLE_FFI=$(usex libffi) - -DLLVM_ENABLE_TERMINFO=$(usex ncurses) - -DLLVM_ENABLE_ASSERTIONS=$(usex debug) - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - - -DWITH_POLLY=OFF # TODO - - -DLLVM_HOST_TRIPLE="${CHOST}" - - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - - -DHAVE_HISTEDIT_H=$(usex libedit) - ) - - if use lldb; then - mycmakeargs+=( - -DLLDB_DISABLE_LIBEDIT=$(usex !libedit) - -DLLDB_DISABLE_CURSES=$(usex !ncurses) - -DLLDB_ENABLE_TERMINFO=$(usex ncurses) - ) - fi - - if ! multilib_is_native_abi || ! use ocaml; then - mycmakeargs+=( - -DOCAMLFIND=NO - ) - fi -# Note: go bindings have no CMake rules at the moment -# but let's kill the check in case they are introduced -# if ! multilib_is_native_abi || ! use go; then - mycmakeargs+=( - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND - ) -# fi - - if multilib_is_native_abi; then - mycmakeargs+=( - -DLLVM_BUILD_DOCS=$(usex doc) - -DLLVM_ENABLE_SPHINX=$(usex doc) - -DLLVM_ENABLE_DOXYGEN=OFF - -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - -DLLVM_INSTALL_UTILS=ON - ) - - use rap && mycmakeargs+=( - -DDEFAULT_SYSROOT="${EPREFIX}" - ) - - if use clang; then - mycmakeargs+=( - -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang" - ) - fi - - if use gold; then - mycmakeargs+=( - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include - ) - fi - - if use lldb; then - mycmakeargs+=( - -DLLDB_DISABLE_PYTHON=$(usex !python) - ) - fi - - else - if use clang; then - mycmakeargs+=( - # disable compiler-rt on non-native ABI because: - # 1. it fails to configure because of -m32 - # 2. it is shared between ABIs so no point building - # it multiple times - -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF - ) - fi - if use lldb; then - mycmakeargs+=( - # only run swig on native abi - -DLLDB_DISABLE_PYTHON=ON - ) - fi - fi - - if use clang; then - mycmakeargs+=( - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}" - ) - - # -- not needed when compiler-rt is built with host compiler -- - # cmake passes host C*FLAGS to compiler-rt build - # which is performed using clang, so we need to filter out - # some flags clang does not support - # (if you know some more flags that don't work, let us know) - #filter-flags -msahf -frecord-gcc-switches - fi - - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile - # TODO: not sure why this target is not correctly called - multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc - - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld - pax-mark m "${BUILD_DIR}"/bin/lli - pax-mark m "${BUILD_DIR}"/bin/lli-child-target - - if use test; then - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - local test_targets=( check ) - # clang tests won't work on non-native ABI because we skip compiler-rt - multilib_is_native_abi && use clang && test_targets+=( check-clang ) - cmake-utils_src_make "${test_targets[@]}" -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied in multilib_src_install()! - CLANG_VERSION=${PV%.*} - - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-cl - /usr/bin/clang-${CLANG_VERSION} - /usr/bin/clang++-${CLANG_VERSION} - /usr/bin/clang-cl-${CLANG_VERSION} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install -} - -multilib_src_install() { - cmake-utils_src_install - - if multilib_is_native_abi; then - # Install man pages. - use doc || doman "${WORKDIR}"/${P}-manpages/*.1 - - # Symlink the gold plugin. - if use gold; then - dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" - dosym "../../../../$(get_libdir)/LLVMgold.so" \ - "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so" - fi - fi - - # apply CHOST and CLANG_VERSION to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ clang-cl ) - local i - - # cmake gives us: - # - clang-X.Y - # - clang -> clang-X.Y - # - clang++, clang-cl -> clang - # we want to have: - # - clang-X.Y - # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y - # - clang, clang++, clang-cl -> clang*-X.Y - # so we need to fix the two tools - for i in "${clang_tools[@]:1}"; do - rm "${ED%/}/usr/bin/${i}" || die - dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}" - dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}" - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}" - done - fi - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles - doins -r utils/vim/*/ - # some users may find it useful - dodoc utils/vim/vimrc - - if use clang; then - pushd tools/clang >/dev/null || die - - if use static-analyzer ; then - pushd tools/scan-build >/dev/null || die - - dobin ccc-analyzer scan-build - dosym ccc-analyzer /usr/bin/c++-analyzer - doman scan-build.1 - - insinto /usr/share/llvm - doins scanview.css sorttable.js - - popd >/dev/null || die - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule *.py Resources - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule *.py - - popd >/dev/null || die - fi - - # AddressSanitizer symbolizer (currently separate) - # Removed for RHEL5. - if kernel_is -ge 2 6 32; then - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py - fi - } - python_foreach_impl python_inst - popd >/dev/null || die - fi -} - -pkg_postinst() { - if use clang; then - elog "To enable OpenMP support in clang, install sys-libs/libomp" - elog "and use the '-fopenmp=libomp' command line option" - fi -} diff --git a/sys-devel/llvm/llvm-3.7.0.ebuild b/sys-devel/llvm/llvm-3.7.0.ebuild deleted file mode 100644 index 8da56ff..0000000 --- a/sys-devel/llvm/llvm-3.7.0.ebuild +++ /dev/null @@ -1,492 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -PYTHON_COMPAT=( python2_7 pypy ) - -inherit check-reqs cmake-utils eutils flag-o-matic multilib \ - multilib-minimal python-r1 toolchain-funcs pax-utils - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz ) - !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml - python +static-analyzer test xml video_cards_radeon kernel_Darwin" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2= ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - ocaml? ( - dev-lang/ocaml:0= - dev-ml/findlib - dev-ml/ocaml-ctypes )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) - kernel_Darwin? ( sys-libs/libcxx ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - libffi? ( virtual/pkgconfig ) - lldb? ( dev-lang/swig ) - !!<dev-python/configparser-3.3.0.2 - ocaml? ( test? ( dev-ml/ounit ) ) - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - lldb? ( clang ) - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P/_}.src - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq '-g?(gdb)?([1-9])'; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - if use clang; then - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi - - if use lldb; then - mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \ - || die "lldb source directory move failed" - fi -} - -src_prepare() { - # Make ocaml warnings non-fatal, bug #537308 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die - # Fix libdir for ocaml bindings install, bug #559134 - epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch - - # Make it possible to override Sphinx HTML install dirs - # https://llvm.org/bugs/show_bug.cgi?id=23780 - epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch - - # Prevent race conditions with parallel Sphinx runs - # https://llvm.org/bugs/show_bug.cgi?id=23781 - epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch - - # Prevent installing libgtest - # https://llvm.org/bugs/show_bug.cgi?id=18341 - epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch - - sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ - tools/clang/tools/scan-build/scan-build || die - - # Install clang runtime into /usr/lib/clang - # https://llvm.org/bugs/show_bug.cgi?id=23792 - epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch - epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch - - # Make it possible to override CLANG_LIBDIR_SUFFIX - # (that is used only to find LLVMgold.so) - # https://llvm.org/bugs/show_bug.cgi?id=23793 - epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch - - # Fix WX sections, bug #421527 - find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \ - -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ - -i {} \; || die - - # Workaround bug #553416 until upstream fixes it - epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch - fi - - if use lldb; then - # Do not install dummy readline.so module from - # https://llvm.org/bugs/show_bug.cgi?id=18841 - sed -e 's/add_subdirectory(readline)/#&/' \ - -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die - fi - - # User patches - epatch_user - - python_setup - - # Native libdir is used to hold LLVMgold.so - NATIVE_LIBDIR=$(get_libdir) -} - -multilib_src_configure() { - local targets - if use multitarget; then - targets=all - else - targets='host;CppBackend' - use video_cards_radeon && targets+=';AMDGPU' - fi - - local ffi_cflags ffi_ldflags - if use libffi; then - ffi_cflags=$(pkg-config --cflags-only-I libffi) - ffi_ldflags=$(pkg-config --libs-only-L libffi) - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - "${mycmakeargs[@]}" - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - - -DBUILD_SHARED_LIBS=ON - -DLLVM_ENABLE_TIMESTAMPS=OFF - -DLLVM_TARGETS_TO_BUILD="${targets}" - -DLLVM_BUILD_TESTS=$(usex test) - - -DLLVM_ENABLE_FFI=$(usex libffi) - -DLLVM_ENABLE_TERMINFO=$(usex ncurses) - -DLLVM_ENABLE_ASSERTIONS=$(usex debug) - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - - -DWITH_POLLY=OFF # TODO - - -DLLVM_HOST_TRIPLE="${CHOST}" - - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - - -DHAVE_HISTEDIT_H=$(usex libedit) - ) - - if use lldb; then - mycmakeargs+=( - -DLLDB_DISABLE_LIBEDIT=$(usex !libedit) - -DLLDB_DISABLE_CURSES=$(usex !ncurses) - -DLLDB_ENABLE_TERMINFO=$(usex ncurses) - ) - fi - - if ! multilib_is_native_abi || ! use ocaml; then - mycmakeargs+=( - -DOCAMLFIND=NO - ) - fi -# Note: go bindings have no CMake rules at the moment -# but let's kill the check in case they are introduced -# if ! multilib_is_native_abi || ! use go; then - mycmakeargs+=( - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND - ) -# fi - - if multilib_is_native_abi; then - mycmakeargs+=( - -DLLVM_BUILD_DOCS=$(usex doc) - -DLLVM_ENABLE_SPHINX=$(usex doc) - -DLLVM_ENABLE_DOXYGEN=OFF - -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html" - ) - - if use clang; then - mycmakeargs+=( - -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang" - ) - fi - - if use gold; then - mycmakeargs+=( - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include - ) - fi - - if use lldb; then - mycmakeargs+=( - -DLLDB_DISABLE_PYTHON=$(usex !python) - ) - fi - - else - if use clang; then - mycmakeargs+=( - # disable compiler-rt on non-native ABI because: - # 1. it fails to configure because of -m32 - # 2. it is shared between ABIs so no point building - # it multiple times - -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF - ) - fi - if use lldb; then - mycmakeargs+=( - # only run swig on native abi - -DLLDB_DISABLE_PYTHON=ON - ) - fi - fi - - if use clang; then - mycmakeargs+=( - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}" - ) - - # -- not needed when compiler-rt is built with host compiler -- - # cmake passes host C*FLAGS to compiler-rt build - # which is performed using clang, so we need to filter out - # some flags clang does not support - # (if you know some more flags that don't work, let us know) - #filter-flags -msahf -frecord-gcc-switches - fi - - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile - # TODO: not sure why this target is not correctly called - multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc - - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld - pax-mark m "${BUILD_DIR}"/bin/lli - pax-mark m "${BUILD_DIR}"/bin/lli-child-target - - if use test; then - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - local test_targets=( check ) - # clang tests won't work on non-native ABI because we skip compiler-rt - multilib_is_native_abi && use clang && test_targets+=( check-clang ) - cmake-utils_src_make "${test_targets[@]}" -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied in multilib_src_install()! - CLANG_VERSION=${PV%.*} - - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-cl - /usr/bin/clang-${CLANG_VERSION} - /usr/bin/clang++-${CLANG_VERSION} - /usr/bin/clang-cl-${CLANG_VERSION} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install -} - -multilib_src_install() { - cmake-utils_src_install - - if multilib_is_native_abi; then - # Install man pages. - use doc || doman "${WORKDIR}"/${P}-manpages/*.1 - - # Symlink the gold plugin. - if use gold; then - dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" - dosym "../../../../$(get_libdir)/LLVMgold.so" \ - "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so" - fi - fi - - # apply CHOST and CLANG_VERSION to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ clang-cl ) - local i - - # cmake gives us: - # - clang-X.Y - # - clang -> clang-X.Y - # - clang++, clang-cl -> clang - # we want to have: - # - clang-X.Y - # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y - # - clang, clang++, clang-cl -> clang*-X.Y - # so we need to fix the two tools - for i in "${clang_tools[@]:1}"; do - rm "${ED%/}/usr/bin/${i}" || die - dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}" - dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}" - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}" - done - fi - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles - doins -r utils/vim/*/ - # some users may find it useful - dodoc utils/vim/vimrc - - if use clang; then - pushd tools/clang >/dev/null || die - - if use static-analyzer ; then - pushd tools/scan-build >/dev/null || die - - dobin ccc-analyzer scan-build - dosym ccc-analyzer /usr/bin/c++-analyzer - doman scan-build.1 - - insinto /usr/share/llvm - doins scanview.css sorttable.js - - popd >/dev/null || die - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule *.py Resources - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule *.py - - popd >/dev/null || die - fi - - # AddressSanitizer symbolizer (currently separate) - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py - } - python_foreach_impl python_inst - popd >/dev/null || die - fi -} diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild index 80eef1b..98b01a8 100644 --- a/sys-devel/llvm/llvm-9999.ebuild +++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild @@ -7,37 +7,45 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} PYTHON_COMPAT=( python2_7 ) -inherit check-reqs cmake-utils eutils flag-o-matic git-r3 multilib \ - multilib-minimal python-single-r1 toolchain-funcs pax-utils +inherit check-reqs cmake-utils eutils flag-o-matic multilib \ + multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="http://llvm.org/" -SRC_URI="" -EGIT_REPO_URI="http://llvm.org/git/llvm.git - https://github.com/llvm-mirror/llvm.git" +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz + clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz + http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz + http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) + lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz ) + !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )" LICENSE="UoI-NCSA" SLOT="0/${PV}" -KEYWORDS="" -IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml python +static-analyzer test xml video_cards_radeon kernel_Darwin kernel_FreeBSD" COMMON_DEPEND=" sys-libs/zlib:0= clang? ( - static-analyzer? ( dev-lang/perl:* ) + python? ( ${PYTHON_DEPS} ) + static-analyzer? ( + dev-lang/perl:* + ${PYTHON_DEPS} + ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS} ) gold? ( >=sys-devel/binutils-2.22:*[cxx] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + lldb? ( dev-python/six[${PYTHON_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib - dev-ml/ocaml-ctypes )" + dev-ml/ocaml-ctypes + !!<=sys-devel/llvm-3.7.0-r1[ocaml] )" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${COMMON_DEPEND} dev-lang/perl @@ -68,6 +76,8 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" REQUIRED_USE="${PYTHON_REQUIRED_USE} lldb? ( clang xml )" +S=${WORKDIR}/${P/_}.src + pkg_pretend() { # in megs # !clang !debug !multitarget -O2 400 @@ -109,36 +119,26 @@ pkg_setup() { } src_unpack() { - if use clang; then - git-r3_fetch "http://llvm.org/git/compiler-rt.git - https://github.com/llvm-mirror/compiler-rt.git" - git-r3_fetch "http://llvm.org/git/clang.git - https://github.com/llvm-mirror/clang.git" - git-r3_fetch "http://llvm.org/git/clang-tools-extra.git - https://github.com/llvm-mirror/clang-tools-extra.git" - fi - if use lldb; then - git-r3_fetch "http://llvm.org/git/lldb.git - https://github.com/llvm-mirror/lldb.git" - fi - git-r3_fetch + default if use clang; then - git-r3_checkout http://llvm.org/git/compiler-rt.git \ - "${S}"/projects/compiler-rt - git-r3_checkout http://llvm.org/git/clang.git \ - "${S}"/tools/clang - git-r3_checkout http://llvm.org/git/clang-tools-extra.git \ - "${S}"/tools/clang/tools/extra + mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ + || die "clang source directory move failed" + mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ + || die "compiler-rt source directory move failed" + mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ + || die "clang-tools-extra source directory move failed" fi + if use lldb; then - git-r3_checkout http://llvm.org/git/lldb.git \ - "${S}"/tools/lldb + mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \ + || die "lldb source directory move failed" fi - git-r3_checkout } src_prepare() { + python_setup + # Make ocaml warnings non-fatal, bug #537308 sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die # Fix libdir for ocaml bindings install, bug #559134 @@ -163,7 +163,7 @@ src_prepare() { # Fix llvm-config for shared linking and sane flags # https://bugs.gentoo.org/show_bug.cgi?id=565358 - eapply "${FILESDIR}"/llvm-3.9-llvm-config.patch + eapply "${FILESDIR}"/llvm-3.8-llvm-config.patch # Restore SOVERSIONs for shared libraries # https://bugs.gentoo.org/show_bug.cgi?id=578392 @@ -172,24 +172,52 @@ src_prepare() { # disable use of SDK on OSX, bug #568758 sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064 + use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99" + if use clang; then # Automatically select active system GCC's libraries, bugs #406163 and #417913 eapply "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch + # Support gcc4.9 search paths + # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3 + eapply "${FILESDIR}"/clang-3.8-gcc4.9-search-path.patch + + eapply "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch + eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp + + sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ + tools/clang/tools/scan-build/bin/scan-build || die + # Install clang runtime into /usr/lib/clang # https://llvm.org/bugs/show_bug.cgi?id=23792 eapply "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch eapply "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch + # Do not force -march flags on arm platforms + # https://bugs.gentoo.org/show_bug.cgi?id=562706 + eapply "${FILESDIR}"/cmake/${PN}-3.8.0-compiler_rt_arm_march_flags.patch + # Make it possible to override CLANG_LIBDIR_SUFFIX # (that is used only to find LLVMgold.so) # https://llvm.org/bugs/show_bug.cgi?id=23793 eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch + # Fix git-clang-format shebang, bug #562688 + python_fix_shebang tools/clang/tools/clang-format/git-clang-format + + # Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064 + # https://llvm.org/bugs/show_bug.cgi?id=26651 + eapply "${FILESDIR}"/clang-3.8-compiler-rt-fbsd.patch + + pushd projects/compiler-rt >/dev/null || die + # Fix WX sections, bug #421527 - find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \ - -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ - -i {} \; || die + find lib/builtins -type f -name '*.S' -exec sed \ + -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ + -i {} + || die + + popd >/dev/null || die fi if use lldb; then @@ -197,13 +225,13 @@ src_prepare() { # https://llvm.org/bugs/show_bug.cgi?id=18841 sed -e 's/add_subdirectory(readline)/#&/' \ -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die + # Do not install bundled six module + eapply "${FILESDIR}"/${PN}-3.8-lldb_six.patch fi # User patches eapply_user - python_setup - # Native libdir is used to hold LLVMgold.so NATIVE_LIBDIR=$(get_libdir) } @@ -340,6 +368,23 @@ multilib_src_configure() { #filter-flags -msahf -frecord-gcc-switches fi + if tc-is-cross-compiler; then + [[ -x "/usr/bin/llvm-tblgen" ]] \ + || die "/usr/bin/llvm-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen + ) + + if use clang; then + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCLANG_TABLEGEN=/usr/bin/clang-tblgen + ) + fi + fi + cmake-utils_src_configure } @@ -380,7 +425,7 @@ src_install() { if use clang; then # note: magic applied in multilib_src_install()! - CLANG_VERSION=3.9 + CLANG_VERSION=${PV%.*} MULTILIB_CHOST_TOOLS+=( /usr/bin/clang @@ -408,8 +453,8 @@ multilib_src_install() { cmake-utils_src_install if multilib_is_native_abi; then - # Install docs. - #use doc && dohtml -r "${S}"/docs/_build/html/ + # Install man pages. + use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1 # Symlink the gold plugin. if use gold; then |