Gentoo Archives: gentoo-commits

From: Bernard Cafarelli <voyageur@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
Date: Wed, 04 Nov 2015 10:47:57
Message-Id: 1446634041.cfedf0e8a3762f656d83c7e2db1f0c55ad82eef0.voyageur@gentoo
1 commit: cfedf0e8a3762f656d83c7e2db1f0c55ad82eef0
2 Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 4 10:47:10 2015 +0000
4 Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 4 10:47:21 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfedf0e8
7
8 sys-devel/llvm: clean unused versions
9
10 Package-Manager: portage-2.2.23
11
12 sys-devel/llvm/Manifest | 13 -
13 sys-devel/llvm/llvm-3.5.1.ebuild | 530 -----------------------------------
14 sys-devel/llvm/llvm-3.6.0.ebuild | 534 -----------------------------------
15 sys-devel/llvm/llvm-3.6.1.ebuild | 541 ------------------------------------
16 sys-devel/llvm/llvm-3.7.0-r1.ebuild | 499 ---------------------------------
17 sys-devel/llvm/llvm-3.7.0.ebuild | 492 --------------------------------
18 6 files changed, 2609 deletions(-)
19
20 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
21 index 112f58f..51b1602 100644
22 --- a/sys-devel/llvm/Manifest
23 +++ b/sys-devel/llvm/Manifest
24 @@ -1,27 +1,18 @@
25 DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a
26 DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd
27 DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7
28 -DIST cfe-3.5.1.src.tar.xz 8268140 SHA256 6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c SHA512 bd904586f6155c05d2f7ddd05b86c28feae883cdc60e2cb3b48d4ae0ce55916064bcea414a46518d0fb73618f18a3f3fca6cc4cad81083428a2221299f5c5c7f WHIRLPOOL eca619b84ae6dfbca4b3d46601419d2c5a0cd77d643336c560d4bc358f4a2b0f7123d3e87248119c3e447143859da20b9b2e94721ebb14053627f0a158d843f5
29 DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
30 -DIST cfe-3.6.0.src.tar.xz 8640776 SHA256 be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d SHA512 dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe WHIRLPOOL 0df122c9d32dba5a00a97bec4a54b7b7bd8241ef625357bcf9997e3670e7c4775becec971f572073f3ffad86c7ccf616a94c06926ef9b0528248e34958e9b43f
31 -DIST cfe-3.6.1.src.tar.xz 8616132 SHA256 74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 SHA512 a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 WHIRLPOOL 1b4b8bb33fc7dbaeb03f32ba3544580bf0424889705b9d5130127be4d514c6d2aae5e224d71e20595a31441fc4bdd7bbf647e99e57d2c1e17fff3cff9022faa1
32 DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
33 DIST cfe-3.7.0.src.tar.xz 9147204 SHA256 4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc SHA512 099d34cb019ea548c6ee85efd22b150beba0aa92061394fa3e423b1ebfe4a5c98c0586e5d56fc5c39e2b1606d36db59f442c056cc59473e32df76c8790c9d0ae WHIRLPOOL 1078d962edfb1b90044f19921f64a28c32259e34d983ddf9f9c198d13c8cd0679778a640d7a06c0bf1224d982602294c79a510034276216e3a6de21c739e6c39
34 DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
35 DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
36 -DIST clang-tools-extra-3.5.1.src.tar.xz 215776 SHA256 e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906 SHA512 eefacd6857584c9a3186815a7d015a595f32cd926f6c221245d388b8cb9266c52e0980a8e94f01f49c452510fdd42e659b02f116619d3d0e35170566f0704712 WHIRLPOOL a3d14e21f201cc02649833edd67ba04f17c88486fbf399327dbb76d21e151b956a4f58cd7446b8563f72fa1cee06a8bd4abbc53234761a3a69fc1afc99ced87d
37 DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
38 -DIST clang-tools-extra-3.6.0.src.tar.xz 248688 SHA256 3aa949ba82913490a75697287d9ee8598c619fae0aa6bb8fddf0095ff51bc812 SHA512 52e0cd3cce3047bb98d52e5c03ac4a8c549fcdc628f57492727f3e7659b2d4bd29ad98ab4ebab387233911fbb098861ec020b28c051e6b2c17d73dd490beebf3 WHIRLPOOL 423f018a2943d16ac605d36bece61046423974c2ffbcc7e4a9aebc5efbb2444ecead70e46bc05f51f4fedbfef338d177b5b16969e8fb0df0bbc911200ce483ae
39 -DIST clang-tools-extra-3.6.1.src.tar.xz 248592 SHA256 f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 SHA512 3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 WHIRLPOOL b35c2118efff758358ed9945384218327767a48ae18acdaf2233a5b97e1dc5a682023ddf78d989d1278119c277aecec596c37c5dab8ea2b16a1c9348eb40d9e6
40 DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
41 DIST clang-tools-extra-3.7.0.src.tar.xz 276628 SHA256 8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd SHA512 c266eb327e2f50767b7d37c9d5713d6c70f590b59e4fe09d997f2eba0d54c9229ef6c8a2a903196380f67dffa7e35ebb47a9e5f2f097fd2a3c363481b72202eb WHIRLPOOL 681a5c14301990bb945e26375d0d31fa22b795101f342bcaaeb9d3e015c0f0f6b260b913388d086cb3054fc357845b34a6813e34614cdfa0de2c58fc6db7c64c
42 DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
43 DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
44 DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
45 -DIST compiler-rt-3.5.1.src.tar.xz 1092452 SHA256 adf4b526f33e681aff5961f0821f5b514d3fc375410008842640b56a2e6a837a SHA512 3a4f093972b080f439c81c8b08793c311cea71afeda7ba7b4e32f19378b1cb420da7b594fa9f6a6f7826570438f67d42d3243c4b3503e1cf8a7dcedf52e8e590 WHIRLPOOL edbf11837139b48207fc6f82ecad39fbc6983cf5bd1441cbe6d50e5e484566b63c5afa2fc64cd29fb8560f07015a98c00b58c926ca7e9af47b7eea92133d0db4
46 DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
47 -DIST compiler-rt-3.6.0.src.tar.xz 1140616 SHA256 7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 SHA512 2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 WHIRLPOOL 1836b59c2369457aac79dc113b9a76623da30195a460afd0e25997aa21855991cdee78d5aec12b45d05d7d14e42d5fc7678f1c169b5a7fd500681a34d02d4468
48 -DIST compiler-rt-3.6.1.src.tar.xz 1128460 SHA256 fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f SHA512 121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a WHIRLPOOL fabbf5a63734f879d1698cd65846beb1cfa8559009b37bf5b5f4e239e62c9a9014d484233674cf357fb7aabb04ac8df840e832c764caf4b4a3b662ff0a51115e
49 DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
50 DIST compiler-rt-3.7.0.src.tar.xz 1192832 SHA256 227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b SHA512 2ba6abb3d6ec7f1469cfe1d48fde2069e9a767d19144f80f05516ac63f353ace90a9df3e9d1c1f708f3c397aba0ec61b12e4f105b25a2e1cd26b25b0dd252bc9 WHIRLPOOL 8bb535b667a7fdc1710d32e0912daee3798049f78cf70a03abc409157f02602b77f290b66185a35c464e512e55d57aab0125be6ae4843f6233f4017228afb579
51 DIST lldb-3.7.0.src.tar.xz 10649660 SHA256 f4d7505bc111044eaa4033af012221e492938405b62522b8e3e354c20c4b71e9 SHA512 52157782ef13e2c8b7b35ff3ccc05887195fe46ddb6bafcf0707a3c46c1e034734b55342b8dbfc46cae7a8c3cb1012345284e4bedb2344c5016b8d19a12e90df WHIRLPOOL 8c0803a51820ec67944e27061c858e95a92aefa38a1540241fead2b63c5b065c1268cf958b14d8841f62fc8aea5da1e20204704426598bfc2c4e61bcda135c43
52 @@ -37,12 +28,8 @@ DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e8130
53 DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c
54 DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819
55 DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1
56 -DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606
57 DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256
58 -DIST llvm-3.6.0-manpages.tar.bz2 35140 SHA256 53b14a7896f6db547fa692b43fb5b08898b251699ec505a2b9d9c9c3b632eed7 SHA512 2efe21ecaf10ced3e078e7675918f5b7fe6cfa3ba6371906f832690858024c57f4868a3af54b6de18c980d6008992d08ae21bc2a678ef12652a0a0eabad52a15 WHIRLPOOL f6bfc9ec0432566b70ab16aa99628a64e0d9f325db72a37cb1b04d6a3521625b37b858770ac1c9e313612d9475d7832f683fbbc2c3acad97c99daeb39383df45
59 -DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce SHA512 ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 WHIRLPOOL 4f9de6b8dd2514e7b55e8c6e6af2ab9d355ebf49f1bd113a652f71809d74060792a95f6cee5b8b3bd64d92586b46e7778f616027702c98eb726ee84375e4eea6
60 DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b
61 -DIST llvm-3.6.1.src.tar.xz 12798852 SHA256 2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a SHA512 fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f WHIRLPOOL c6340956e9935c0e4a986f1a8da9458ca3b3a7bdff376d33c7a3c60bc5154fb5820bfaf43fb4118f28ab9b0f356f436672fd2f984bc629eeee01233b703030fb
62 DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f
63 DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
64 DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f
65
66 diff --git a/sys-devel/llvm/llvm-3.5.1.ebuild b/sys-devel/llvm/llvm-3.5.1.ebuild
67 deleted file mode 100644
68 index 52f8309..0000000
69 --- a/sys-devel/llvm/llvm-3.5.1.ebuild
70 +++ /dev/null
71 @@ -1,530 +0,0 @@
72 -# Copyright 1999-2015 Gentoo Foundation
73 -# Distributed under the terms of the GNU General Public License v2
74 -# $Id$
75 -
76 -EAPI=5
77 -
78 -PYTHON_COMPAT=( python2_7 pypy )
79 -
80 -inherit eutils flag-o-matic multibuild multilib \
81 - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
82 -
83 -DESCRIPTION="Low Level Virtual Machine"
84 -HOMEPAGE="http://llvm.org/"
85 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
86 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
87 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
88 - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
89 - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )"
90 -
91 -LICENSE="UoI-NCSA"
92 -SLOT="0/3.5"
93 -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"
94 -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
95 - +static-analyzer test xml video_cards_radeon
96 - kernel_Darwin kernel_FreeBSD"
97 -
98 -COMMON_DEPEND="
99 - sys-libs/zlib:0=
100 - clang? (
101 - python? ( ${PYTHON_DEPS} )
102 - static-analyzer? (
103 - dev-lang/perl:*
104 - ${PYTHON_DEPS}
105 - )
106 - xml? ( dev-libs/libxml2:2= )
107 - )
108 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
109 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
110 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
111 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
112 - ocaml? ( dev-lang/ocaml:0= )"
113 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
114 -DEPEND="${COMMON_DEPEND}
115 - app-arch/xz-utils
116 - dev-lang/perl
117 - >=sys-devel/make-3.81
118 - >=sys-devel/flex-2.5.4
119 - >=sys-devel/bison-1.875d
120 - || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1
121 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
122 - )
123 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
124 - clang? ( xml? ( virtual/pkgconfig ) )
125 - doc? ( dev-python/sphinx )
126 - libffi? ( virtual/pkgconfig )
127 - !!<dev-python/configparser-3.3.0.2
128 - ${PYTHON_DEPS}"
129 -RDEPEND="${COMMON_DEPEND}
130 - clang? ( !<=sys-devel/clang-${PV}-r99
131 - !>=sys-devel/clang-9999 )
132 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
133 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
134 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
135 -
136 -# pypy gives me around 1700 unresolved tests due to open file limit
137 -# being exceeded. probably GC does not close them fast enough.
138 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
139 - test? ( || ( $(python_gen_useflags 'python*') ) )"
140 -
141 -S=${WORKDIR}/${P}.src
142 -
143 -# Some people actually override that in make.conf. That sucks since
144 -# we need to run install per-directory, and ninja can't do that...
145 -# so why did it call itself ninja in the first place?
146 -CMAKE_MAKEFILE_GENERATOR=emake
147 -
148 -pkg_pretend() {
149 - # in megs
150 - # !clang !debug !multitarget -O2 400
151 - # !clang !debug multitarget -O2 550
152 - # clang !debug !multitarget -O2 950
153 - # clang !debug multitarget -O2 1200
154 - # !clang debug multitarget -O2 5G
155 - # clang !debug multitarget -O0 -g 12G
156 - # clang debug multitarget -O2 16G
157 - # clang debug multitarget -O0 -g 14G
158 -
159 - local build_size=550
160 - use clang && build_size=1200
161 -
162 - if use debug; then
163 - ewarn "USE=debug is known to increase the size of package considerably"
164 - ewarn "and cause the tests to fail."
165 - ewarn
166 -
167 - (( build_size *= 14 ))
168 - elif is-flagq '-g?(gdb)?([1-9])'; then
169 - ewarn "The C++ compiler -g option is known to increase the size of the package"
170 - ewarn "considerably. If you run out of space, please consider removing it."
171 - ewarn
172 -
173 - (( build_size *= 10 ))
174 - fi
175 -
176 - # Multiply by number of ABIs :).
177 - local abis=( $(multilib_get_enabled_abis) )
178 - (( build_size *= ${#abis[@]} ))
179 -
180 - local CHECKREQS_DISK_BUILD=${build_size}M
181 - check-reqs_pkg_pretend
182 -
183 - if [[ ${MERGE_TYPE} != binary ]]; then
184 - echo 'int main() {return 0;}' > "${T}"/test.cxx || die
185 - ebegin "Trying to build a C++11 test program"
186 - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
187 - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
188 - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
189 - eerror "to gcc-4.7 or an equivalent version supporting C++11."
190 - die "Currently active compiler does not support -std=c++11"
191 - fi
192 - eend ${?}
193 - fi
194 -}
195 -
196 -pkg_setup() {
197 - pkg_pretend
198 -}
199 -
200 -src_unpack() {
201 - default
202 -
203 - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
204 - || die "symlinks removal failed"
205 -
206 - if use clang; then
207 - mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
208 - || die "clang source directory move failed"
209 - mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
210 - || die "compiler-rt source directory move failed"
211 - mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \
212 - || die "clang-tools-extra source directory move failed"
213 - fi
214 -}
215 -
216 -src_prepare() {
217 - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
218 - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
219 - epatch "${FILESDIR}"/${PN}-3.5-gentoo-install.patch
220 - # Make ocaml warnings non-fatal, bug #537308
221 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/Ocaml/*ml || die
222 -
223 - if use clang; then
224 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
225 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
226 -
227 - epatch "${FILESDIR}"/clang-3.5-gentoo-install.patch
228 - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
229 - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
230 - fi
231 -
232 - if use prefix && use clang; then
233 - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
234 - projects/compiler-rt/make/platform/clang_*.mk || die
235 - fi
236 -
237 - local sub_files=(
238 - Makefile.config.in
239 - Makefile.rules
240 - tools/llvm-config/llvm-config.cpp
241 - )
242 - use clang && sub_files+=(
243 - tools/clang/lib/Driver/Tools.cpp
244 - tools/clang/tools/scan-build/scan-build
245 - )
246 -
247 - # unfortunately ./configure won't listen to --mandir and the-like, so take
248 - # care of this.
249 - # note: we're setting the main libdir intentionally.
250 - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
251 - einfo "Fixing install dirs"
252 - sed -e "s,@libdir@,$(get_libdir),g" \
253 - -e "s,@PF@,${PF},g" \
254 - -e "s,@EPREFIX@,${EPREFIX},g" \
255 - -i "${sub_files[@]}" \
256 - || die "install paths sed failed"
257 -
258 - if use clang; then
259 - # constantly fails for a long time, likely due to our patches
260 - rm tools/clang/test/Driver/cross-linux.c || die
261 - fi
262 -
263 - # User patches
264 - epatch_user
265 -
266 - python_setup
267 -}
268 -
269 -multilib_src_configure() {
270 - # disable timestamps since they confuse ccache
271 - local conf_flags=(
272 - --disable-timestamps
273 - --enable-keep-symbols
274 - --enable-shared
275 - --with-optimize-option=
276 - $(tc-is-static-only && echo --disable-shared)
277 - $(use_enable !debug optimized)
278 - $(use_enable debug assertions)
279 - $(use_enable debug expensive-checks)
280 - $(use_enable libedit)
281 - $(use_enable ncurses terminfo)
282 - $(use_enable libffi)
283 - )
284 -
285 - # well, it's used only by clang executable c-index-test
286 - if multilib_is_native_abi && use clang && use xml; then
287 - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
288 - else
289 - conf_flags+=( ac_cv_prog_XML2CONFIG="" )
290 - fi
291 -
292 - local targets bindings
293 - if use multitarget; then
294 - targets='all'
295 - else
296 - targets='host,cpp'
297 - use video_cards_radeon && targets+=',r600'
298 - fi
299 - conf_flags+=( --enable-targets=${targets} )
300 -
301 - if multilib_is_native_abi; then
302 - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
303 - # extra commas don't hurt
304 - use ocaml && bindings+=',ocaml'
305 - fi
306 -
307 - [[ ${bindings} ]] || bindings='none'
308 - conf_flags+=( --enable-bindings=${bindings} )
309 -
310 - if use libffi; then
311 - local CPPFLAGS=${CPPFLAGS}
312 - append-cppflags "$(pkg-config --cflags libffi)"
313 - fi
314 -
315 - # llvm prefers clang over gcc, so we may need to force that
316 - tc-export CC CXX
317 -
318 - ECONF_SOURCE=${S} \
319 - econf "${conf_flags[@]}"
320 -}
321 -
322 -set_makeargs() {
323 - MAKEARGS=(
324 - VERBOSE=1
325 - REQUIRES_RTTI=1
326 - GENTOO_LIBDIR=$(get_libdir)
327 - )
328 -
329 - # for tests, we want it all! otherwise, we may use a little filtering...
330 - # adding ONLY_TOOLS also disables unittest building...
331 - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
332 - local tools=( llvm-config )
333 - use clang && tools+=( clang )
334 -
335 - if multilib_is_native_abi; then
336 - tools+=(
337 - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
338 - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
339 - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
340 - llvm-size llvm-stress llvm-mcmarkup llvm-profdata
341 - llvm-symbolizer obj2yaml yaml2obj lto bugpoint
342 - )
343 -
344 - # the build system runs explicitly specified tools in parallel,
345 - # so we need to split it into two runs
346 - if [[ ${1} != -1 ]]; then
347 - # those require lto
348 - tools+=( llvm-lto )
349 - use gold && tools+=( gold )
350 -
351 - # those require clang :)
352 - # we need to explicitly specify all its tools
353 - # since we're passing BUILD_CLANG_ONLY
354 - use clang && tools+=(
355 - clang/tools/{clang-check,clang-format,extra}
356 - )
357 - fi
358 - fi
359 -
360 - MAKEARGS+=(
361 - # filter tools + disable unittests implicitly
362 - ONLY_TOOLS="${tools[*]}"
363 -
364 - # this disables unittests & docs from clang
365 - BUILD_CLANG_ONLY=YES
366 - )
367 - fi
368 -}
369 -
370 -multilib_src_compile() {
371 - local MAKEARGS
372 - set_makeargs -1
373 - emake "${MAKEARGS[@]}"
374 -
375 - if multilib_is_native_abi; then
376 - set_makeargs
377 - emake -C tools "${MAKEARGS[@]}"
378 -
379 - if use doc; then
380 - emake -C "${S}"/docs -f Makefile.sphinx man
381 - use clang && emake -C "${S}"/tools/clang/docs/tools \
382 - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
383 - emake -C "${S}"/docs -f Makefile.sphinx html
384 - fi
385 - fi
386 -
387 - if use debug; then
388 - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
389 - pax-mark m Debug+Asserts+Checks/bin/lli
390 - pax-mark m Debug+Asserts+Checks/bin/lli-child-target
391 - else
392 - pax-mark m Release/bin/llvm-rtdyld
393 - pax-mark m Release/bin/lli
394 - pax-mark m Release/bin/lli-child-target
395 - fi
396 -}
397 -
398 -multilib_src_test() {
399 - local MAKEARGS
400 - set_makeargs
401 -
402 - # build the remaining tools & unittests
403 - emake "${MAKEARGS[@]}"
404 -
405 - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
406 - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
407 - pax-mark m unittests/Support/Release/SupportTests
408 -
409 - # respect TMPDIR!
410 - local -x LIT_PRESERVES_TMP=1
411 - emake "${MAKEARGS[@]}" check
412 - use clang && emake "${MAKEARGS[@]}" -C tools/clang test
413 -}
414 -
415 -src_install() {
416 - local MULTILIB_CHOST_TOOLS=(
417 - /usr/bin/llvm-config
418 - )
419 -
420 - local MULTILIB_WRAPPED_HEADERS=(
421 - /usr/include/llvm/Config/config.h
422 - /usr/include/llvm/Config/llvm-config.h
423 - )
424 -
425 - if use clang; then
426 - # note: magic applied below
427 - MULTILIB_CHOST_TOOLS+=(
428 - /usr/bin/clang
429 - /usr/bin/clang++
430 - /usr/bin/clang-${PV}
431 - /usr/bin/clang++-${PV}
432 - )
433 -
434 - MULTILIB_WRAPPED_HEADERS+=(
435 - /usr/include/clang/Config/config.h
436 - )
437 - fi
438 -
439 - multilib-minimal_src_install
440 -
441 - # Remove unnecessary headers on FreeBSD, bug #417171
442 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
443 -}
444 -
445 -multilib_src_install() {
446 - local MAKEARGS
447 - set_makeargs
448 -
449 - local root=${D}/_${ABI}
450 -
451 - emake "${MAKEARGS[@]}" DESTDIR="${root}" install
452 - multibuild_merge_root "${root}" "${D}"
453 -
454 - if ! multilib_is_native_abi; then
455 - # Backwards compat, will be happily removed someday.
456 - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
457 - else
458 - # Install docs.
459 - if use doc; then
460 - doman "${S}"/docs/_build/man/*.1
461 - use clang && doman "${T}"/clang.1
462 - dohtml -r "${S}"/docs/_build/html/
463 - else
464 - if ! use clang; then
465 - rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die
466 - fi
467 - doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1
468 - fi
469 -
470 - # Symlink the gold plugin.
471 - if use gold; then
472 - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
473 - dosym ../../../../$(get_libdir)/LLVMgold.so \
474 - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
475 - fi
476 - fi
477 -
478 - # apply CHOST and PV to clang executables
479 - # they're statically linked so we don't have to worry about the lib
480 - if use clang; then
481 - local clang_tools=( clang clang++ )
482 - local i
483 -
484 - # append ${PV} and symlink back
485 - # TODO: use alternatives.eclass? does that make any sense?
486 - # maybe with USE=-clang on :0 and USE=clang on older
487 - for i in "${clang_tools[@]}"; do
488 - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
489 - dosym "${i}"-${PV} /usr/bin/${i}
490 - done
491 -
492 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
493 - if ! multilib_is_native_abi; then
494 - # non-native? let's replace it with a simple wrapper
495 - for i in "${clang_tools[@]}"; do
496 - rm "${ED%/}/usr/bin/${i}-${PV}" || die
497 - cat > "${T}"/wrapper.tmp <<-_EOF_
498 - #!${EPREFIX}/bin/sh
499 - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
500 - _EOF_
501 - newbin "${T}"/wrapper.tmp "${i}-${PV}"
502 - done
503 - fi
504 - fi
505 -
506 - # Fix install_names on Darwin. The build system is too complicated
507 - # to just fix this, so we correct it post-install
508 - local lib= f= odylib= ndylib= libpv=${PV}
509 - if [[ ${CHOST} == *-darwin* ]] ; then
510 - eval $(grep PACKAGE_VERSION= configure)
511 - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
512 - libpvminor=${libpv%.[0-9]*}
513 - 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
514 - # libEnhancedDisassembly is Darwin10 only, so non-fatal
515 - # + omit clang libs if not enabled
516 - [[ -f ${ED}/usr/lib/${lib} ]] || continue
517 -
518 - ebegin "fixing install_name of $lib"
519 - install_name_tool \
520 - -id "${EPREFIX}"/usr/lib/${lib} \
521 - "${ED}"/usr/lib/${lib}
522 - eend $?
523 - done
524 - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
525 - # omit clang libs if not enabled
526 - [[ -f "${f}" ]] || continue
527 -
528 - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
529 - while read odylib ; do
530 - ndylib=
531 - case ${odylib} in
532 - */libclang.dylib)
533 - ndylib="${EPREFIX}"/usr/lib/libclang.dylib
534 - ;;
535 - */libLLVM-${libpv}.dylib)
536 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
537 - ;;
538 - */libLLVM-${libpvminor}.dylib)
539 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
540 - ;;
541 - */libLTO.dylib)
542 - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
543 - ;;
544 - esac
545 - if [[ -n ${ndylib} ]] ; then
546 - ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
547 - install_name_tool \
548 - -change "${odylib}" "${ndylib}" \
549 - "${f}"
550 - eend $?
551 - fi
552 - done
553 - done
554 - fi
555 -}
556 -
557 -multilib_src_install_all() {
558 - insinto /usr/share/vim/vimfiles/syntax
559 - doins utils/vim/*.vim
560 -
561 - if use clang; then
562 - cd tools/clang || die
563 -
564 - if use static-analyzer ; then
565 - dobin tools/scan-build/ccc-analyzer
566 - dosym ccc-analyzer /usr/bin/c++-analyzer
567 - dobin tools/scan-build/scan-build
568 -
569 - insinto /usr/share/${PN}
570 - doins tools/scan-build/scanview.css
571 - doins tools/scan-build/sorttable.js
572 - fi
573 -
574 - python_inst() {
575 - if use static-analyzer ; then
576 - pushd tools/scan-view >/dev/null || die
577 -
578 - python_doscript scan-view
579 -
580 - touch __init__.py || die
581 - python_moduleinto clang
582 - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
583 -
584 - popd >/dev/null || die
585 - fi
586 -
587 - if use python ; then
588 - pushd bindings/python/clang >/dev/null || die
589 -
590 - python_moduleinto clang
591 - python_domodule __init__.py cindex.py enumerations.py
592 -
593 - popd >/dev/null || die
594 - fi
595 -
596 - # AddressSanitizer symbolizer (currently separate)
597 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
598 - }
599 - python_foreach_impl python_inst
600 - fi
601 -}
602
603 diff --git a/sys-devel/llvm/llvm-3.6.0.ebuild b/sys-devel/llvm/llvm-3.6.0.ebuild
604 deleted file mode 100644
605 index b789793..0000000
606 --- a/sys-devel/llvm/llvm-3.6.0.ebuild
607 +++ /dev/null
608 @@ -1,534 +0,0 @@
609 -# Copyright 1999-2015 Gentoo Foundation
610 -# Distributed under the terms of the GNU General Public License v2
611 -# $Id$
612 -
613 -EAPI=5
614 -
615 -PYTHON_COMPAT=( python2_7 pypy )
616 -
617 -inherit eutils flag-o-matic multibuild multilib \
618 - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
619 -
620 -DESCRIPTION="Low Level Virtual Machine"
621 -HOMEPAGE="http://llvm.org/"
622 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
623 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
624 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
625 - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
626 - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
627 -
628 -LICENSE="UoI-NCSA"
629 -SLOT="0/3.6"
630 -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"
631 -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
632 - +static-analyzer test xml video_cards_radeon
633 - kernel_Darwin kernel_FreeBSD"
634 -
635 -COMMON_DEPEND="
636 - sys-libs/zlib:0=
637 - clang? (
638 - python? ( ${PYTHON_DEPS} )
639 - static-analyzer? (
640 - dev-lang/perl:*
641 - ${PYTHON_DEPS}
642 - )
643 - xml? ( dev-libs/libxml2:2= )
644 - )
645 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
646 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
647 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
648 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
649 - ocaml? (
650 - dev-lang/ocaml:0=
651 - dev-ml/findlib
652 - dev-ml/ocaml-ctypes )"
653 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
654 -DEPEND="${COMMON_DEPEND}
655 - app-arch/xz-utils
656 - dev-lang/perl
657 - >=sys-devel/make-3.81
658 - >=sys-devel/flex-2.5.4
659 - >=sys-devel/bison-1.875d
660 - || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1
661 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
662 - )
663 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
664 - clang? ( xml? ( virtual/pkgconfig ) )
665 - doc? ( dev-python/sphinx )
666 - libffi? ( virtual/pkgconfig )
667 - !!<dev-python/configparser-3.3.0.2
668 - ocaml? ( test? ( dev-ml/ounit ) )
669 - ${PYTHON_DEPS}"
670 -RDEPEND="${COMMON_DEPEND}
671 - clang? ( !<=sys-devel/clang-${PV}-r99
672 - !>=sys-devel/clang-9999 )
673 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
674 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
675 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
676 -
677 -# pypy gives me around 1700 unresolved tests due to open file limit
678 -# being exceeded. probably GC does not close them fast enough.
679 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
680 - test? ( || ( $(python_gen_useflags 'python*') ) )"
681 -
682 -S=${WORKDIR}/${P/_}.src
683 -
684 -# Some people actually override that in make.conf. That sucks since
685 -# we need to run install per-directory, and ninja can't do that...
686 -# so why did it call itself ninja in the first place?
687 -CMAKE_MAKEFILE_GENERATOR=emake
688 -
689 -pkg_pretend() {
690 - # in megs
691 - # !clang !debug !multitarget -O2 400
692 - # !clang !debug multitarget -O2 550
693 - # clang !debug !multitarget -O2 950
694 - # clang !debug multitarget -O2 1200
695 - # !clang debug multitarget -O2 5G
696 - # clang !debug multitarget -O0 -g 12G
697 - # clang debug multitarget -O2 16G
698 - # clang debug multitarget -O0 -g 14G
699 -
700 - local build_size=550
701 - use clang && build_size=1200
702 -
703 - if use debug; then
704 - ewarn "USE=debug is known to increase the size of package considerably"
705 - ewarn "and cause the tests to fail."
706 - ewarn
707 -
708 - (( build_size *= 14 ))
709 - elif is-flagq '-g?(gdb)?([1-9])'; then
710 - ewarn "The C++ compiler -g option is known to increase the size of the package"
711 - ewarn "considerably. If you run out of space, please consider removing it."
712 - ewarn
713 -
714 - (( build_size *= 10 ))
715 - fi
716 -
717 - # Multiply by number of ABIs :).
718 - local abis=( $(multilib_get_enabled_abis) )
719 - (( build_size *= ${#abis[@]} ))
720 -
721 - local CHECKREQS_DISK_BUILD=${build_size}M
722 - check-reqs_pkg_pretend
723 -
724 - if [[ ${MERGE_TYPE} != binary ]]; then
725 - echo 'int main() {return 0;}' > "${T}"/test.cxx || die
726 - ebegin "Trying to build a C++11 test program"
727 - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
728 - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
729 - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
730 - eerror "to gcc-4.7 or an equivalent version supporting C++11."
731 - die "Currently active compiler does not support -std=c++11"
732 - fi
733 - eend ${?}
734 - fi
735 -}
736 -
737 -pkg_setup() {
738 - pkg_pretend
739 -}
740 -
741 -src_unpack() {
742 - default
743 -
744 - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
745 - || die "symlinks removal failed"
746 -
747 - if use clang; then
748 - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
749 - || die "clang source directory move failed"
750 - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
751 - || die "compiler-rt source directory move failed"
752 - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
753 - || die "clang-tools-extra source directory move failed"
754 - fi
755 -}
756 -
757 -src_prepare() {
758 - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
759 - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
760 - epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch
761 - # Make ocaml warnings non-fatal, bug #537308
762 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
763 -
764 - if use clang; then
765 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
766 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
767 -
768 - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
769 - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
770 - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
771 - fi
772 -
773 - if use prefix && use clang; then
774 - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
775 - projects/compiler-rt/make/platform/clang_*.mk || die
776 - fi
777 -
778 - local sub_files=(
779 - Makefile.config.in
780 - Makefile.rules
781 - tools/llvm-config/llvm-config.cpp
782 - )
783 - use clang && sub_files+=(
784 - tools/clang/lib/Driver/Tools.cpp
785 - tools/clang/tools/scan-build/scan-build
786 - )
787 -
788 - # unfortunately ./configure won't listen to --mandir and the-like, so take
789 - # care of this.
790 - # note: we're setting the main libdir intentionally.
791 - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
792 - einfo "Fixing install dirs"
793 - sed -e "s,@libdir@,$(get_libdir),g" \
794 - -e "s,@PF@,${PF},g" \
795 - -e "s,@EPREFIX@,${EPREFIX},g" \
796 - -i "${sub_files[@]}" \
797 - || die "install paths sed failed"
798 -
799 - if use clang; then
800 - # constantly fails for a long time, likely due to our patches
801 - rm tools/clang/test/Driver/cross-linux.c || die
802 - fi
803 -
804 - # User patches
805 - epatch_user
806 -
807 - python_setup
808 -}
809 -
810 -multilib_src_configure() {
811 - # disable timestamps since they confuse ccache
812 - local conf_flags=(
813 - --disable-timestamps
814 - --enable-keep-symbols
815 - --enable-shared
816 - --with-optimize-option=
817 - $(tc-is-static-only && echo --disable-shared)
818 - $(use_enable !debug optimized)
819 - $(use_enable debug assertions)
820 - $(use_enable debug expensive-checks)
821 - $(use_enable libedit)
822 - $(use_enable ncurses terminfo)
823 - $(use_enable libffi)
824 - )
825 -
826 - # well, it's used only by clang executable c-index-test
827 - if multilib_is_native_abi && use clang && use xml; then
828 - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
829 - else
830 - conf_flags+=( ac_cv_prog_XML2CONFIG="" )
831 - fi
832 -
833 - local targets bindings
834 - if use multitarget; then
835 - targets='all'
836 - else
837 - targets='host,cpp'
838 - use video_cards_radeon && targets+=',r600'
839 - fi
840 - conf_flags+=( --enable-targets=${targets} )
841 -
842 - if multilib_is_native_abi; then
843 - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
844 - # extra commas don't hurt
845 - use ocaml && bindings+=',ocaml'
846 - fi
847 -
848 - [[ ${bindings} ]] || bindings='none'
849 - conf_flags+=( --enable-bindings=${bindings} )
850 -
851 - if use libffi; then
852 - local CPPFLAGS=${CPPFLAGS}
853 - append-cppflags "$(pkg-config --cflags libffi)"
854 - fi
855 -
856 - # llvm prefers clang over gcc, so we may need to force that
857 - tc-export CC CXX
858 -
859 - ECONF_SOURCE=${S} \
860 - econf "${conf_flags[@]}"
861 -}
862 -
863 -set_makeargs() {
864 - MAKEARGS=(
865 - VERBOSE=1
866 - REQUIRES_RTTI=1
867 - GENTOO_LIBDIR=$(get_libdir)
868 - )
869 -
870 - # for tests, we want it all! otherwise, we may use a little filtering...
871 - # adding ONLY_TOOLS also disables unittest building...
872 - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
873 - local tools=( llvm-config )
874 - use clang && tools+=( clang )
875 -
876 - if multilib_is_native_abi; then
877 - tools+=(
878 - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
879 - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
880 - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
881 - llvm-size llvm-stress llvm-mcmarkup llvm-profdata
882 - llvm-symbolizer obj2yaml yaml2obj lto bugpoint
883 - )
884 -
885 - # the build system runs explicitly specified tools in parallel,
886 - # so we need to split it into two runs
887 - if [[ ${1} != -1 ]]; then
888 - # those require lto
889 - tools+=( llvm-lto )
890 - use gold && tools+=( gold )
891 -
892 - # those require clang :)
893 - # we need to explicitly specify all its tools
894 - # since we're passing BUILD_CLANG_ONLY
895 - use clang && tools+=(
896 - clang/tools/{clang-check,clang-format,extra}
897 - )
898 - fi
899 - fi
900 -
901 - MAKEARGS+=(
902 - # filter tools + disable unittests implicitly
903 - ONLY_TOOLS="${tools[*]}"
904 -
905 - # this disables unittests & docs from clang
906 - BUILD_CLANG_ONLY=YES
907 - )
908 - fi
909 -}
910 -
911 -multilib_src_compile() {
912 - local MAKEARGS
913 - set_makeargs -1
914 - emake "${MAKEARGS[@]}"
915 -
916 - if multilib_is_native_abi; then
917 - set_makeargs
918 - emake -C tools "${MAKEARGS[@]}"
919 -
920 - if use doc; then
921 - emake -C "${S}"/docs -f Makefile.sphinx man
922 - use clang && emake -C "${S}"/tools/clang/docs/tools \
923 - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
924 - emake -C "${S}"/docs -f Makefile.sphinx html
925 - fi
926 - fi
927 -
928 - if use debug; then
929 - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
930 - pax-mark m Debug+Asserts+Checks/bin/lli
931 - pax-mark m Debug+Asserts+Checks/bin/lli-child-target
932 - else
933 - pax-mark m Release/bin/llvm-rtdyld
934 - pax-mark m Release/bin/lli
935 - pax-mark m Release/bin/lli-child-target
936 - fi
937 -}
938 -
939 -multilib_src_test() {
940 - local MAKEARGS
941 - set_makeargs
942 -
943 - # build the remaining tools & unittests
944 - emake "${MAKEARGS[@]}"
945 -
946 - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
947 - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
948 - pax-mark m unittests/Support/Release/SupportTests
949 -
950 - # respect TMPDIR!
951 - local -x LIT_PRESERVES_TMP=1
952 - emake "${MAKEARGS[@]}" check
953 - use clang && emake "${MAKEARGS[@]}" -C tools/clang test
954 -}
955 -
956 -src_install() {
957 - local MULTILIB_CHOST_TOOLS=(
958 - /usr/bin/llvm-config
959 - )
960 -
961 - local MULTILIB_WRAPPED_HEADERS=(
962 - /usr/include/llvm/Config/config.h
963 - /usr/include/llvm/Config/llvm-config.h
964 - )
965 -
966 - if use clang; then
967 - # note: magic applied below
968 - MULTILIB_CHOST_TOOLS+=(
969 - /usr/bin/clang
970 - /usr/bin/clang++
971 - /usr/bin/clang-${PV}
972 - /usr/bin/clang++-${PV}
973 - )
974 -
975 - MULTILIB_WRAPPED_HEADERS+=(
976 - /usr/include/clang/Config/config.h
977 - )
978 - fi
979 -
980 - multilib-minimal_src_install
981 -
982 - # Remove unnecessary headers on FreeBSD, bug #417171
983 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
984 -}
985 -
986 -multilib_src_install() {
987 - local MAKEARGS
988 - set_makeargs
989 -
990 - local root=${D}/_${ABI}
991 -
992 - emake "${MAKEARGS[@]}" DESTDIR="${root}" install
993 - multibuild_merge_root "${root}" "${D}"
994 -
995 - if ! multilib_is_native_abi; then
996 - # Backwards compat, will be happily removed someday.
997 - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
998 - else
999 - # Install docs.
1000 - if use doc; then
1001 - doman "${S}"/docs/_build/man/*.1
1002 - use clang && doman "${T}"/clang.1
1003 - dohtml -r "${S}"/docs/_build/html/
1004 - else
1005 - if ! use clang; then
1006 - rm "${WORKDIR}"/${P}-manpages/clang.1 || die
1007 - fi
1008 - doman "${WORKDIR}"/${P}-manpages/*.1
1009 - fi
1010 -
1011 - # Symlink the gold plugin.
1012 - if use gold; then
1013 - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
1014 - dosym ../../../../$(get_libdir)/LLVMgold.so \
1015 - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
1016 - fi
1017 - fi
1018 -
1019 - # apply CHOST and PV to clang executables
1020 - # they're statically linked so we don't have to worry about the lib
1021 - if use clang; then
1022 - local clang_tools=( clang clang++ )
1023 - local i
1024 -
1025 - # append ${PV} and symlink back
1026 - # TODO: use alternatives.eclass? does that make any sense?
1027 - # maybe with USE=-clang on :0 and USE=clang on older
1028 - for i in "${clang_tools[@]}"; do
1029 - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
1030 - dosym "${i}"-${PV} /usr/bin/${i}
1031 - done
1032 -
1033 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
1034 - if ! multilib_is_native_abi; then
1035 - # non-native? let's replace it with a simple wrapper
1036 - for i in "${clang_tools[@]}"; do
1037 - rm "${ED%/}/usr/bin/${i}-${PV}" || die
1038 - cat > "${T}"/wrapper.tmp <<-_EOF_
1039 - #!${EPREFIX}/bin/sh
1040 - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
1041 - _EOF_
1042 - newbin "${T}"/wrapper.tmp "${i}-${PV}"
1043 - done
1044 - fi
1045 - fi
1046 -
1047 - # Fix install_names on Darwin. The build system is too complicated
1048 - # to just fix this, so we correct it post-install
1049 - local lib= f= odylib= ndylib= libpv=${PV}
1050 - if [[ ${CHOST} == *-darwin* ]] ; then
1051 - eval $(grep PACKAGE_VERSION= configure)
1052 - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
1053 - libpvminor=${libpv%.[0-9]*}
1054 - 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
1055 - # libEnhancedDisassembly is Darwin10 only, so non-fatal
1056 - # + omit clang libs if not enabled
1057 - [[ -f ${ED}/usr/lib/${lib} ]] || continue
1058 -
1059 - ebegin "fixing install_name of $lib"
1060 - install_name_tool \
1061 - -id "${EPREFIX}"/usr/lib/${lib} \
1062 - "${ED}"/usr/lib/${lib}
1063 - eend $?
1064 - done
1065 - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
1066 - # omit clang libs if not enabled
1067 - [[ -f "${f}" ]] || continue
1068 -
1069 - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
1070 - while read odylib ; do
1071 - ndylib=
1072 - case ${odylib} in
1073 - */libclang.dylib)
1074 - ndylib="${EPREFIX}"/usr/lib/libclang.dylib
1075 - ;;
1076 - */libLLVM-${libpv}.dylib)
1077 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
1078 - ;;
1079 - */libLLVM-${libpvminor}.dylib)
1080 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
1081 - ;;
1082 - */libLTO.dylib)
1083 - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
1084 - ;;
1085 - esac
1086 - if [[ -n ${ndylib} ]] ; then
1087 - ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
1088 - install_name_tool \
1089 - -change "${odylib}" "${ndylib}" \
1090 - "${f}"
1091 - eend $?
1092 - fi
1093 - done
1094 - done
1095 - fi
1096 -}
1097 -
1098 -multilib_src_install_all() {
1099 - insinto /usr/share/vim/vimfiles/syntax
1100 - doins utils/vim/*.vim
1101 -
1102 - if use clang; then
1103 - cd tools/clang || die
1104 -
1105 - if use static-analyzer ; then
1106 - dobin tools/scan-build/ccc-analyzer
1107 - dosym ccc-analyzer /usr/bin/c++-analyzer
1108 - dobin tools/scan-build/scan-build
1109 -
1110 - insinto /usr/share/${PN}
1111 - doins tools/scan-build/scanview.css
1112 - doins tools/scan-build/sorttable.js
1113 - fi
1114 -
1115 - python_inst() {
1116 - if use static-analyzer ; then
1117 - pushd tools/scan-view >/dev/null || die
1118 -
1119 - python_doscript scan-view
1120 -
1121 - touch __init__.py || die
1122 - python_moduleinto clang
1123 - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
1124 -
1125 - popd >/dev/null || die
1126 - fi
1127 -
1128 - if use python ; then
1129 - pushd bindings/python/clang >/dev/null || die
1130 -
1131 - python_moduleinto clang
1132 - python_domodule __init__.py cindex.py enumerations.py
1133 -
1134 - popd >/dev/null || die
1135 - fi
1136 -
1137 - # AddressSanitizer symbolizer (currently separate)
1138 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
1139 - }
1140 - python_foreach_impl python_inst
1141 - fi
1142 -}
1143
1144 diff --git a/sys-devel/llvm/llvm-3.6.1.ebuild b/sys-devel/llvm/llvm-3.6.1.ebuild
1145 deleted file mode 100644
1146 index 6cc8a46..0000000
1147 --- a/sys-devel/llvm/llvm-3.6.1.ebuild
1148 +++ /dev/null
1149 @@ -1,541 +0,0 @@
1150 -# Copyright 1999-2015 Gentoo Foundation
1151 -# Distributed under the terms of the GNU General Public License v2
1152 -# $Id$
1153 -
1154 -EAPI=5
1155 -
1156 -PYTHON_COMPAT=( python2_7 pypy )
1157 -
1158 -inherit eutils flag-o-matic multibuild multilib \
1159 - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
1160 -
1161 -DESCRIPTION="Low Level Virtual Machine"
1162 -HOMEPAGE="http://llvm.org/"
1163 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
1164 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
1165 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
1166 - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
1167 - !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
1168 -
1169 -LICENSE="UoI-NCSA"
1170 -SLOT="0/3.6"
1171 -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"
1172 -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
1173 - +static-analyzer test xml video_cards_radeon
1174 - kernel_Darwin kernel_FreeBSD"
1175 -
1176 -COMMON_DEPEND="
1177 - sys-libs/zlib:0=
1178 - clang? (
1179 - python? ( ${PYTHON_DEPS} )
1180 - static-analyzer? (
1181 - dev-lang/perl:*
1182 - ${PYTHON_DEPS}
1183 - )
1184 - xml? ( dev-libs/libxml2:2= )
1185 - )
1186 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
1187 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
1188 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
1189 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
1190 - ocaml? (
1191 - dev-lang/ocaml:0=
1192 - dev-ml/findlib
1193 - dev-ml/ocaml-ctypes )"
1194 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
1195 -DEPEND="${COMMON_DEPEND}
1196 - app-arch/xz-utils
1197 - dev-lang/perl
1198 - >=sys-devel/make-3.81
1199 - >=sys-devel/flex-2.5.4
1200 - >=sys-devel/bison-1.875d
1201 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
1202 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
1203 - )
1204 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
1205 - kernel_Darwin? ( sys-libs/libcxx )
1206 - clang? ( xml? ( virtual/pkgconfig ) )
1207 - doc? ( dev-python/sphinx )
1208 - libffi? ( virtual/pkgconfig )
1209 - !!<dev-python/configparser-3.3.0.2
1210 - ocaml? ( test? ( dev-ml/ounit ) )
1211 - ${PYTHON_DEPS}"
1212 -RDEPEND="${COMMON_DEPEND}
1213 - clang? ( !<=sys-devel/clang-${PV}-r99
1214 - !>=sys-devel/clang-9999 )
1215 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
1216 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
1217 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
1218 -
1219 -# pypy gives me around 1700 unresolved tests due to open file limit
1220 -# being exceeded. probably GC does not close them fast enough.
1221 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
1222 - test? ( || ( $(python_gen_useflags 'python*') ) )"
1223 -
1224 -S=${WORKDIR}/${P/_}.src
1225 -
1226 -# Some people actually override that in make.conf. That sucks since
1227 -# we need to run install per-directory, and ninja can't do that...
1228 -# so why did it call itself ninja in the first place?
1229 -CMAKE_MAKEFILE_GENERATOR=emake
1230 -
1231 -pkg_pretend() {
1232 - # in megs
1233 - # !clang !debug !multitarget -O2 400
1234 - # !clang !debug multitarget -O2 550
1235 - # clang !debug !multitarget -O2 950
1236 - # clang !debug multitarget -O2 1200
1237 - # !clang debug multitarget -O2 5G
1238 - # clang !debug multitarget -O0 -g 12G
1239 - # clang debug multitarget -O2 16G
1240 - # clang debug multitarget -O0 -g 14G
1241 -
1242 - local build_size=550
1243 - use clang && build_size=1200
1244 -
1245 - if use debug; then
1246 - ewarn "USE=debug is known to increase the size of package considerably"
1247 - ewarn "and cause the tests to fail."
1248 - ewarn
1249 -
1250 - (( build_size *= 14 ))
1251 - elif is-flagq '-g?(gdb)?([1-9])'; then
1252 - ewarn "The C++ compiler -g option is known to increase the size of the package"
1253 - ewarn "considerably. If you run out of space, please consider removing it."
1254 - ewarn
1255 -
1256 - (( build_size *= 10 ))
1257 - fi
1258 -
1259 - # Multiply by number of ABIs :).
1260 - local abis=( $(multilib_get_enabled_abis) )
1261 - (( build_size *= ${#abis[@]} ))
1262 -
1263 - local CHECKREQS_DISK_BUILD=${build_size}M
1264 - check-reqs_pkg_pretend
1265 -
1266 - if [[ ${MERGE_TYPE} != binary ]]; then
1267 - echo 'int main() {return 0;}' > "${T}"/test.cxx || die
1268 - ebegin "Trying to build a C++11 test program"
1269 - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
1270 - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
1271 - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
1272 - eerror "to gcc-4.7 or an equivalent version supporting C++11."
1273 - die "Currently active compiler does not support -std=c++11"
1274 - fi
1275 - eend ${?}
1276 - fi
1277 -}
1278 -
1279 -pkg_setup() {
1280 - pkg_pretend
1281 -}
1282 -
1283 -src_unpack() {
1284 - default
1285 -
1286 - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
1287 - || die "symlinks removal failed"
1288 -
1289 - if use clang; then
1290 - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
1291 - || die "clang source directory move failed"
1292 - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
1293 - || die "compiler-rt source directory move failed"
1294 - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
1295 - || die "clang-tools-extra source directory move failed"
1296 - fi
1297 -}
1298 -
1299 -src_prepare() {
1300 - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
1301 - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
1302 - epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch
1303 - epatch "${FILESDIR}"/${PN}-3.6.0-ocaml-ctypes-0.4.0.patch
1304 - # Make ocaml warnings non-fatal, bug #537308
1305 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
1306 -
1307 - if use clang; then
1308 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
1309 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
1310 -
1311 - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
1312 - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
1313 - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
1314 -
1315 - # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444
1316 - epatch "${FILESDIR}"/clang-3.6-fbsd-gcc49.patch
1317 - fi
1318 -
1319 - if use prefix && use clang; then
1320 - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
1321 - projects/compiler-rt/make/platform/clang_*.mk || die
1322 - fi
1323 -
1324 - local sub_files=(
1325 - Makefile.config.in
1326 - Makefile.rules
1327 - tools/llvm-config/llvm-config.cpp
1328 - )
1329 - use clang && sub_files+=(
1330 - tools/clang/lib/Driver/Tools.cpp
1331 - tools/clang/tools/scan-build/scan-build
1332 - )
1333 -
1334 - # unfortunately ./configure won't listen to --mandir and the-like, so take
1335 - # care of this.
1336 - # note: we're setting the main libdir intentionally.
1337 - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
1338 - einfo "Fixing install dirs"
1339 - sed -e "s,@libdir@,$(get_libdir),g" \
1340 - -e "s,@PF@,${PF},g" \
1341 - -e "s,@EPREFIX@,${EPREFIX},g" \
1342 - -i "${sub_files[@]}" \
1343 - || die "install paths sed failed"
1344 -
1345 - if use clang; then
1346 - # constantly fails for a long time, likely due to our patches
1347 - rm tools/clang/test/Driver/cross-linux.c || die
1348 - fi
1349 -
1350 - # User patches
1351 - epatch_user
1352 -
1353 - python_setup
1354 -}
1355 -
1356 -multilib_src_configure() {
1357 - # disable timestamps since they confuse ccache
1358 - local conf_flags=(
1359 - --disable-timestamps
1360 - --enable-keep-symbols
1361 - --enable-shared
1362 - --with-optimize-option=
1363 - $(tc-is-static-only && echo --disable-shared)
1364 - $(use_enable !debug optimized)
1365 - $(use_enable debug assertions)
1366 - $(use_enable debug expensive-checks)
1367 - $(use_enable libedit)
1368 - $(use_enable ncurses terminfo)
1369 - $(use_enable libffi)
1370 - )
1371 -
1372 - # well, it's used only by clang executable c-index-test
1373 - if multilib_is_native_abi && use clang && use xml; then
1374 - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
1375 - else
1376 - conf_flags+=( ac_cv_prog_XML2CONFIG="" )
1377 - fi
1378 -
1379 - local targets bindings
1380 - if use multitarget; then
1381 - targets='all'
1382 - else
1383 - targets='host,cpp'
1384 - use video_cards_radeon && targets+=',r600'
1385 - fi
1386 - conf_flags+=( --enable-targets=${targets} )
1387 -
1388 - if multilib_is_native_abi; then
1389 - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
1390 - # extra commas don't hurt
1391 - use ocaml && bindings+=',ocaml'
1392 - fi
1393 -
1394 - [[ ${bindings} ]] || bindings='none'
1395 - conf_flags+=( --enable-bindings=${bindings} )
1396 -
1397 - if use libffi; then
1398 - local CPPFLAGS=${CPPFLAGS}
1399 - append-cppflags "$(pkg-config --cflags libffi)"
1400 - fi
1401 -
1402 - # Enable large file support, bug #550708
1403 - append-lfs-flags
1404 - # llvm prefers clang over gcc, so we may need to force that
1405 - tc-export CC CXX
1406 -
1407 - ECONF_SOURCE=${S} \
1408 - econf "${conf_flags[@]}"
1409 -}
1410 -
1411 -set_makeargs() {
1412 - MAKEARGS=(
1413 - VERBOSE=1
1414 - REQUIRES_RTTI=1
1415 - GENTOO_LIBDIR=$(get_libdir)
1416 - )
1417 -
1418 - # for tests, we want it all! otherwise, we may use a little filtering...
1419 - # adding ONLY_TOOLS also disables unittest building...
1420 - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
1421 - local tools=( llvm-config )
1422 - use clang && tools+=( clang )
1423 -
1424 - if multilib_is_native_abi; then
1425 - tools+=(
1426 - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
1427 - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
1428 - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
1429 - llvm-size llvm-stress llvm-mcmarkup llvm-profdata
1430 - llvm-symbolizer obj2yaml yaml2obj lto bugpoint
1431 - )
1432 -
1433 - # the build system runs explicitly specified tools in parallel,
1434 - # so we need to split it into two runs
1435 - if [[ ${1} != -1 ]]; then
1436 - # those require lto
1437 - tools+=( llvm-lto )
1438 - use gold && tools+=( gold )
1439 -
1440 - # those require clang :)
1441 - # we need to explicitly specify all its tools
1442 - # since we're passing BUILD_CLANG_ONLY
1443 - use clang && tools+=(
1444 - clang/tools/{clang-check,clang-format,extra}
1445 - )
1446 - fi
1447 - fi
1448 -
1449 - MAKEARGS+=(
1450 - # filter tools + disable unittests implicitly
1451 - ONLY_TOOLS="${tools[*]}"
1452 -
1453 - # this disables unittests & docs from clang
1454 - BUILD_CLANG_ONLY=YES
1455 - )
1456 - fi
1457 -}
1458 -
1459 -multilib_src_compile() {
1460 - local MAKEARGS
1461 - set_makeargs -1
1462 - emake "${MAKEARGS[@]}"
1463 -
1464 - if multilib_is_native_abi; then
1465 - set_makeargs
1466 - emake -C tools "${MAKEARGS[@]}"
1467 -
1468 - if use doc; then
1469 - emake -C "${S}"/docs -f Makefile.sphinx man
1470 - use clang && emake -C "${S}"/tools/clang/docs/tools \
1471 - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
1472 - emake -C "${S}"/docs -f Makefile.sphinx html
1473 - fi
1474 - fi
1475 -
1476 - if use debug; then
1477 - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
1478 - pax-mark m Debug+Asserts+Checks/bin/lli
1479 - pax-mark m Debug+Asserts+Checks/bin/lli-child-target
1480 - else
1481 - pax-mark m Release/bin/llvm-rtdyld
1482 - pax-mark m Release/bin/lli
1483 - pax-mark m Release/bin/lli-child-target
1484 - fi
1485 -}
1486 -
1487 -multilib_src_test() {
1488 - local MAKEARGS
1489 - set_makeargs
1490 -
1491 - # build the remaining tools & unittests
1492 - emake "${MAKEARGS[@]}"
1493 -
1494 - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
1495 - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
1496 - pax-mark m unittests/Support/Release/SupportTests
1497 -
1498 - # respect TMPDIR!
1499 - local -x LIT_PRESERVES_TMP=1
1500 - emake "${MAKEARGS[@]}" check
1501 - use clang && emake "${MAKEARGS[@]}" -C tools/clang test
1502 -}
1503 -
1504 -src_install() {
1505 - local MULTILIB_CHOST_TOOLS=(
1506 - /usr/bin/llvm-config
1507 - )
1508 -
1509 - local MULTILIB_WRAPPED_HEADERS=(
1510 - /usr/include/llvm/Config/config.h
1511 - /usr/include/llvm/Config/llvm-config.h
1512 - )
1513 -
1514 - if use clang; then
1515 - # note: magic applied below
1516 - MULTILIB_CHOST_TOOLS+=(
1517 - /usr/bin/clang
1518 - /usr/bin/clang++
1519 - /usr/bin/clang-${PV}
1520 - /usr/bin/clang++-${PV}
1521 - )
1522 -
1523 - MULTILIB_WRAPPED_HEADERS+=(
1524 - /usr/include/clang/Config/config.h
1525 - )
1526 - fi
1527 -
1528 - multilib-minimal_src_install
1529 -
1530 - # Remove unnecessary headers on FreeBSD, bug #417171
1531 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
1532 -}
1533 -
1534 -multilib_src_install() {
1535 - local MAKEARGS
1536 - set_makeargs
1537 -
1538 - local root=${D}/_${ABI}
1539 -
1540 - emake "${MAKEARGS[@]}" DESTDIR="${root}" install
1541 - multibuild_merge_root "${root}" "${D}"
1542 -
1543 - if ! multilib_is_native_abi; then
1544 - # Backwards compat, will be happily removed someday.
1545 - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
1546 - else
1547 - # Install docs.
1548 - if use doc; then
1549 - doman "${S}"/docs/_build/man/*.1
1550 - use clang && doman "${T}"/clang.1
1551 - dohtml -r "${S}"/docs/_build/html/
1552 - else
1553 - if ! use clang; then
1554 - rm "${WORKDIR}"/${P}-manpages/clang.1 || die
1555 - fi
1556 - doman "${WORKDIR}"/${P}-manpages/*.1
1557 - fi
1558 -
1559 - # Symlink the gold plugin.
1560 - if use gold; then
1561 - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
1562 - dosym ../../../../$(get_libdir)/LLVMgold.so \
1563 - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
1564 - fi
1565 - fi
1566 -
1567 - # apply CHOST and PV to clang executables
1568 - # they're statically linked so we don't have to worry about the lib
1569 - if use clang; then
1570 - local clang_tools=( clang clang++ )
1571 - local i
1572 -
1573 - # append ${PV} and symlink back
1574 - # TODO: use alternatives.eclass? does that make any sense?
1575 - # maybe with USE=-clang on :0 and USE=clang on older
1576 - for i in "${clang_tools[@]}"; do
1577 - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
1578 - dosym "${i}"-${PV} /usr/bin/${i}
1579 - done
1580 -
1581 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
1582 - if ! multilib_is_native_abi; then
1583 - # non-native? let's replace it with a simple wrapper
1584 - for i in "${clang_tools[@]}"; do
1585 - rm "${ED%/}/usr/bin/${i}-${PV}" || die
1586 - cat > "${T}"/wrapper.tmp <<-_EOF_
1587 - #!${EPREFIX}/bin/sh
1588 - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
1589 - _EOF_
1590 - newbin "${T}"/wrapper.tmp "${i}-${PV}"
1591 - done
1592 - fi
1593 - fi
1594 -
1595 - # Fix install_names on Darwin. The build system is too complicated
1596 - # to just fix this, so we correct it post-install
1597 - local lib= f= odylib= ndylib= libpv=${PV}
1598 - if [[ ${CHOST} == *-darwin* ]] ; then
1599 - eval $(grep PACKAGE_VERSION= configure)
1600 - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
1601 - libpvminor=${libpv%.[0-9]*}
1602 - 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
1603 - # libEnhancedDisassembly is Darwin10 only, so non-fatal
1604 - # + omit clang libs if not enabled
1605 - [[ -f ${ED}/usr/lib/${lib} ]] || continue
1606 -
1607 - ebegin "fixing install_name of $lib"
1608 - install_name_tool \
1609 - -id "${EPREFIX}"/usr/lib/${lib} \
1610 - "${ED}"/usr/lib/${lib}
1611 - eend $?
1612 - done
1613 - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
1614 - # omit clang libs if not enabled
1615 - [[ -f "${f}" ]] || continue
1616 -
1617 - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
1618 - while read odylib ; do
1619 - ndylib=
1620 - case ${odylib} in
1621 - */libclang.dylib)
1622 - ndylib="${EPREFIX}"/usr/lib/libclang.dylib
1623 - ;;
1624 - */libLLVM-${libpv}.dylib)
1625 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
1626 - ;;
1627 - */libLLVM-${libpvminor}.dylib)
1628 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
1629 - ;;
1630 - */libLTO.dylib)
1631 - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
1632 - ;;
1633 - esac
1634 - if [[ -n ${ndylib} ]] ; then
1635 - ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
1636 - install_name_tool \
1637 - -change "${odylib}" "${ndylib}" \
1638 - "${f}"
1639 - eend $?
1640 - fi
1641 - done
1642 - done
1643 - fi
1644 -}
1645 -
1646 -multilib_src_install_all() {
1647 - insinto /usr/share/vim/vimfiles/syntax
1648 - doins utils/vim/*.vim
1649 -
1650 - if use clang; then
1651 - cd tools/clang || die
1652 -
1653 - if use static-analyzer ; then
1654 - dobin tools/scan-build/ccc-analyzer
1655 - dosym ccc-analyzer /usr/bin/c++-analyzer
1656 - dobin tools/scan-build/scan-build
1657 -
1658 - insinto /usr/share/${PN}
1659 - doins tools/scan-build/scanview.css
1660 - doins tools/scan-build/sorttable.js
1661 - fi
1662 -
1663 - python_inst() {
1664 - if use static-analyzer ; then
1665 - pushd tools/scan-view >/dev/null || die
1666 -
1667 - python_doscript scan-view
1668 -
1669 - touch __init__.py || die
1670 - python_moduleinto clang
1671 - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
1672 -
1673 - popd >/dev/null || die
1674 - fi
1675 -
1676 - if use python ; then
1677 - pushd bindings/python/clang >/dev/null || die
1678 -
1679 - python_moduleinto clang
1680 - python_domodule __init__.py cindex.py enumerations.py
1681 -
1682 - popd >/dev/null || die
1683 - fi
1684 -
1685 - # AddressSanitizer symbolizer (currently separate)
1686 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
1687 - }
1688 - python_foreach_impl python_inst
1689 - fi
1690 -}
1691
1692 diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
1693 deleted file mode 100644
1694 index 910b6e1..0000000
1695 --- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild
1696 +++ /dev/null
1697 @@ -1,499 +0,0 @@
1698 -# Copyright 1999-2015 Gentoo Foundation
1699 -# Distributed under the terms of the GNU General Public License v2
1700 -# $Id$
1701 -
1702 -EAPI=5
1703 -
1704 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
1705 -PYTHON_COMPAT=( python2_7 pypy )
1706 -
1707 -inherit check-reqs cmake-utils eutils flag-o-matic multilib \
1708 - multilib-minimal python-r1 toolchain-funcs pax-utils
1709 -
1710 -DESCRIPTION="Low Level Virtual Machine"
1711 -HOMEPAGE="http://llvm.org/"
1712 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
1713 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
1714 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
1715 - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
1716 - lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
1717 - !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
1718 -
1719 -LICENSE="UoI-NCSA"
1720 -SLOT="0/${PV}"
1721 -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"
1722 -IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
1723 - python +static-analyzer test xml video_cards_radeon kernel_Darwin"
1724 -
1725 -COMMON_DEPEND="
1726 - sys-libs/zlib:0=
1727 - clang? (
1728 - python? ( ${PYTHON_DEPS} )
1729 - static-analyzer? (
1730 - dev-lang/perl:*
1731 - ${PYTHON_DEPS}
1732 - )
1733 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
1734 - )
1735 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
1736 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
1737 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
1738 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
1739 - ocaml? (
1740 - dev-lang/ocaml:0=
1741 - dev-ml/findlib
1742 - dev-ml/ocaml-ctypes )"
1743 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
1744 -DEPEND="${COMMON_DEPEND}
1745 - dev-lang/perl
1746 - >=sys-devel/make-3.81
1747 - >=sys-devel/flex-2.5.4
1748 - >=sys-devel/bison-1.875d
1749 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
1750 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
1751 - )
1752 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
1753 - kernel_Darwin? ( sys-libs/libcxx )
1754 - clang? ( xml? ( virtual/pkgconfig ) )
1755 - doc? ( dev-python/sphinx )
1756 - gold? ( sys-libs/binutils-libs )
1757 - libffi? ( virtual/pkgconfig )
1758 - lldb? ( dev-lang/swig )
1759 - !!<dev-python/configparser-3.3.0.2
1760 - ocaml? ( test? ( dev-ml/ounit ) )
1761 - ${PYTHON_DEPS}"
1762 -RDEPEND="${COMMON_DEPEND}
1763 - clang? ( !<=sys-devel/clang-${PV}-r99 )
1764 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
1765 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
1766 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
1767 -
1768 -# pypy gives me around 1700 unresolved tests due to open file limit
1769 -# being exceeded. probably GC does not close them fast enough.
1770 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
1771 - lldb? ( clang )
1772 - test? ( || ( $(python_gen_useflags 'python*') ) )"
1773 -
1774 -S=${WORKDIR}/${P/_}.src
1775 -
1776 -pkg_pretend() {
1777 - # in megs
1778 - # !clang !debug !multitarget -O2 400
1779 - # !clang !debug multitarget -O2 550
1780 - # clang !debug !multitarget -O2 950
1781 - # clang !debug multitarget -O2 1200
1782 - # !clang debug multitarget -O2 5G
1783 - # clang !debug multitarget -O0 -g 12G
1784 - # clang debug multitarget -O2 16G
1785 - # clang debug multitarget -O0 -g 14G
1786 -
1787 - local build_size=550
1788 - use clang && build_size=1200
1789 -
1790 - if use debug; then
1791 - ewarn "USE=debug is known to increase the size of package considerably"
1792 - ewarn "and cause the tests to fail."
1793 - ewarn
1794 -
1795 - (( build_size *= 14 ))
1796 - elif is-flagq '-g?(gdb)?([1-9])'; then
1797 - ewarn "The C++ compiler -g option is known to increase the size of the package"
1798 - ewarn "considerably. If you run out of space, please consider removing it."
1799 - ewarn
1800 -
1801 - (( build_size *= 10 ))
1802 - fi
1803 -
1804 - # Multiply by number of ABIs :).
1805 - local abis=( $(multilib_get_enabled_abis) )
1806 - (( build_size *= ${#abis[@]} ))
1807 -
1808 - local CHECKREQS_DISK_BUILD=${build_size}M
1809 - check-reqs_pkg_pretend
1810 -
1811 - if [[ ${MERGE_TYPE} != binary ]]; then
1812 - echo 'int main() {return 0;}' > "${T}"/test.cxx || die
1813 - ebegin "Trying to build a C++11 test program"
1814 - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
1815 - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
1816 - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
1817 - eerror "to gcc-4.7 or an equivalent version supporting C++11."
1818 - die "Currently active compiler does not support -std=c++11"
1819 - fi
1820 - eend ${?}
1821 - fi
1822 -}
1823 -
1824 -pkg_setup() {
1825 - pkg_pretend
1826 -}
1827 -
1828 -src_unpack() {
1829 - default
1830 -
1831 - if use clang; then
1832 - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
1833 - || die "clang source directory move failed"
1834 - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
1835 - || die "compiler-rt source directory move failed"
1836 - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
1837 - || die "clang-tools-extra source directory move failed"
1838 - fi
1839 -
1840 - if use lldb; then
1841 - mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
1842 - || die "lldb source directory move failed"
1843 - fi
1844 -}
1845 -
1846 -src_prepare() {
1847 - # Make ocaml warnings non-fatal, bug #537308
1848 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
1849 - # Fix libdir for ocaml bindings install, bug #559134
1850 - epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
1851 -
1852 - # Make it possible to override Sphinx HTML install dirs
1853 - # https://llvm.org/bugs/show_bug.cgi?id=23780
1854 - epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
1855 -
1856 - # Prevent race conditions with parallel Sphinx runs
1857 - # https://llvm.org/bugs/show_bug.cgi?id=23781
1858 - epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
1859 -
1860 - # Prevent installing libgtest
1861 - # https://llvm.org/bugs/show_bug.cgi?id=18341
1862 - epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
1863 -
1864 - if use clang; then
1865 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
1866 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
1867 -
1868 - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
1869 -
1870 - sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
1871 - tools/clang/tools/scan-build/scan-build || die
1872 -
1873 - # Install clang runtime into /usr/lib/clang
1874 - # https://llvm.org/bugs/show_bug.cgi?id=23792
1875 - epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
1876 - epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
1877 -
1878 - # Make it possible to override CLANG_LIBDIR_SUFFIX
1879 - # (that is used only to find LLVMgold.so)
1880 - # https://llvm.org/bugs/show_bug.cgi?id=23793
1881 - epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
1882 -
1883 - # Fix WX sections, bug #421527
1884 - find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
1885 - -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
1886 - -i {} \; || die
1887 - fi
1888 -
1889 - if use lldb; then
1890 - # Do not install dummy readline.so module from
1891 - # https://llvm.org/bugs/show_bug.cgi?id=18841
1892 - sed -e 's/add_subdirectory(readline)/#&/' \
1893 - -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
1894 - fi
1895 -
1896 - # User patches
1897 - epatch_user
1898 -
1899 - python_setup
1900 -
1901 - # Native libdir is used to hold LLVMgold.so
1902 - NATIVE_LIBDIR=$(get_libdir)
1903 -}
1904 -
1905 -multilib_src_configure() {
1906 - local targets
1907 - if use multitarget; then
1908 - targets=all
1909 - else
1910 - targets='host;CppBackend'
1911 - use video_cards_radeon && targets+=';AMDGPU'
1912 - fi
1913 -
1914 - local ffi_cflags ffi_ldflags
1915 - if use libffi; then
1916 - ffi_cflags=$(pkg-config --cflags-only-I libffi)
1917 - ffi_ldflags=$(pkg-config --libs-only-L libffi)
1918 - fi
1919 -
1920 - local libdir=$(get_libdir)
1921 - local mycmakeargs=(
1922 - "${mycmakeargs[@]}"
1923 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
1924 -
1925 - -DBUILD_SHARED_LIBS=ON
1926 - -DLLVM_ENABLE_TIMESTAMPS=OFF
1927 - -DLLVM_TARGETS_TO_BUILD="${targets}"
1928 - -DLLVM_BUILD_TESTS=$(usex test)
1929 -
1930 - -DLLVM_ENABLE_FFI=$(usex libffi)
1931 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
1932 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
1933 - -DLLVM_ENABLE_EH=ON
1934 - -DLLVM_ENABLE_RTTI=ON
1935 -
1936 - -DWITH_POLLY=OFF # TODO
1937 -
1938 - -DLLVM_HOST_TRIPLE="${CHOST}"
1939 -
1940 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
1941 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
1942 -
1943 - -DHAVE_HISTEDIT_H=$(usex libedit)
1944 - )
1945 -
1946 - if use lldb; then
1947 - mycmakeargs+=(
1948 - -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
1949 - -DLLDB_DISABLE_CURSES=$(usex !ncurses)
1950 - -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
1951 - )
1952 - fi
1953 -
1954 - if ! multilib_is_native_abi || ! use ocaml; then
1955 - mycmakeargs+=(
1956 - -DOCAMLFIND=NO
1957 - )
1958 - fi
1959 -# Note: go bindings have no CMake rules at the moment
1960 -# but let's kill the check in case they are introduced
1961 -# if ! multilib_is_native_abi || ! use go; then
1962 - mycmakeargs+=(
1963 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
1964 - )
1965 -# fi
1966 -
1967 - if multilib_is_native_abi; then
1968 - mycmakeargs+=(
1969 - -DLLVM_BUILD_DOCS=$(usex doc)
1970 - -DLLVM_ENABLE_SPHINX=$(usex doc)
1971 - -DLLVM_ENABLE_DOXYGEN=OFF
1972 - -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
1973 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
1974 - -DLLVM_INSTALL_UTILS=ON
1975 - )
1976 -
1977 - if use clang; then
1978 - mycmakeargs+=(
1979 - -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
1980 - )
1981 - fi
1982 -
1983 - if use gold; then
1984 - mycmakeargs+=(
1985 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
1986 - )
1987 - fi
1988 -
1989 - if use lldb; then
1990 - mycmakeargs+=(
1991 - -DLLDB_DISABLE_PYTHON=$(usex !python)
1992 - )
1993 - fi
1994 -
1995 - else
1996 - if use clang; then
1997 - mycmakeargs+=(
1998 - # disable compiler-rt on non-native ABI because:
1999 - # 1. it fails to configure because of -m32
2000 - # 2. it is shared between ABIs so no point building
2001 - # it multiple times
2002 - -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
2003 - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
2004 - )
2005 - fi
2006 - if use lldb; then
2007 - mycmakeargs+=(
2008 - # only run swig on native abi
2009 - -DLLDB_DISABLE_PYTHON=ON
2010 - )
2011 - fi
2012 - fi
2013 -
2014 - if use clang; then
2015 - mycmakeargs+=(
2016 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
2017 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
2018 - -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
2019 - )
2020 -
2021 - # -- not needed when compiler-rt is built with host compiler --
2022 - # cmake passes host C*FLAGS to compiler-rt build
2023 - # which is performed using clang, so we need to filter out
2024 - # some flags clang does not support
2025 - # (if you know some more flags that don't work, let us know)
2026 - #filter-flags -msahf -frecord-gcc-switches
2027 - fi
2028 -
2029 - cmake-utils_src_configure
2030 -}
2031 -
2032 -multilib_src_compile() {
2033 - cmake-utils_src_compile
2034 - # TODO: not sure why this target is not correctly called
2035 - multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
2036 -
2037 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
2038 - pax-mark m "${BUILD_DIR}"/bin/lli
2039 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
2040 -
2041 - if use test; then
2042 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
2043 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
2044 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
2045 - fi
2046 -}
2047 -
2048 -multilib_src_test() {
2049 - # respect TMPDIR!
2050 - local -x LIT_PRESERVES_TMP=1
2051 - local test_targets=( check )
2052 - # clang tests won't work on non-native ABI because we skip compiler-rt
2053 - multilib_is_native_abi && use clang && test_targets+=( check-clang )
2054 - cmake-utils_src_make "${test_targets[@]}"
2055 -}
2056 -
2057 -src_install() {
2058 - local MULTILIB_CHOST_TOOLS=(
2059 - /usr/bin/llvm-config
2060 - )
2061 -
2062 - local MULTILIB_WRAPPED_HEADERS=(
2063 - /usr/include/llvm/Config/config.h
2064 - /usr/include/llvm/Config/llvm-config.h
2065 - )
2066 -
2067 - if use clang; then
2068 - # note: magic applied in multilib_src_install()!
2069 - CLANG_VERSION=${PV%.*}
2070 -
2071 - MULTILIB_CHOST_TOOLS+=(
2072 - /usr/bin/clang
2073 - /usr/bin/clang++
2074 - /usr/bin/clang-cl
2075 - /usr/bin/clang-${CLANG_VERSION}
2076 - /usr/bin/clang++-${CLANG_VERSION}
2077 - /usr/bin/clang-cl-${CLANG_VERSION}
2078 - )
2079 -
2080 - MULTILIB_WRAPPED_HEADERS+=(
2081 - /usr/include/clang/Config/config.h
2082 - )
2083 - fi
2084 -
2085 - multilib-minimal_src_install
2086 -}
2087 -
2088 -multilib_src_install() {
2089 - cmake-utils_src_install
2090 -
2091 - if multilib_is_native_abi; then
2092 - # Install man pages.
2093 - use doc || doman "${WORKDIR}"/${P}-manpages/*.1
2094 -
2095 - # Symlink the gold plugin.
2096 - if use gold; then
2097 - dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
2098 - dosym "../../../../$(get_libdir)/LLVMgold.so" \
2099 - "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
2100 - fi
2101 - fi
2102 -
2103 - # apply CHOST and CLANG_VERSION to clang executables
2104 - # they're statically linked so we don't have to worry about the lib
2105 - if use clang; then
2106 - local clang_tools=( clang clang++ clang-cl )
2107 - local i
2108 -
2109 - # cmake gives us:
2110 - # - clang-X.Y
2111 - # - clang -> clang-X.Y
2112 - # - clang++, clang-cl -> clang
2113 - # we want to have:
2114 - # - clang-X.Y
2115 - # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
2116 - # - clang, clang++, clang-cl -> clang*-X.Y
2117 - # so we need to fix the two tools
2118 - for i in "${clang_tools[@]:1}"; do
2119 - rm "${ED%/}/usr/bin/${i}" || die
2120 - dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
2121 - dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
2122 - done
2123 -
2124 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
2125 - if ! multilib_is_native_abi; then
2126 - # non-native? let's replace it with a simple wrapper
2127 - for i in "${clang_tools[@]}"; do
2128 - rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
2129 - cat > "${T}"/wrapper.tmp <<-_EOF_
2130 - #!${EPREFIX}/bin/sh
2131 - exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
2132 - _EOF_
2133 - newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
2134 - done
2135 - fi
2136 - fi
2137 -}
2138 -
2139 -multilib_src_install_all() {
2140 - insinto /usr/share/vim/vimfiles
2141 - doins -r utils/vim/*/
2142 - # some users may find it useful
2143 - dodoc utils/vim/vimrc
2144 -
2145 - if use clang; then
2146 - pushd tools/clang >/dev/null || die
2147 -
2148 - if use static-analyzer ; then
2149 - pushd tools/scan-build >/dev/null || die
2150 -
2151 - dobin ccc-analyzer scan-build
2152 - dosym ccc-analyzer /usr/bin/c++-analyzer
2153 - doman scan-build.1
2154 -
2155 - insinto /usr/share/llvm
2156 - doins scanview.css sorttable.js
2157 -
2158 - popd >/dev/null || die
2159 - fi
2160 -
2161 - python_inst() {
2162 - if use static-analyzer ; then
2163 - pushd tools/scan-view >/dev/null || die
2164 -
2165 - python_doscript scan-view
2166 -
2167 - touch __init__.py || die
2168 - python_moduleinto clang
2169 - python_domodule *.py Resources
2170 -
2171 - popd >/dev/null || die
2172 - fi
2173 -
2174 - if use python ; then
2175 - pushd bindings/python/clang >/dev/null || die
2176 -
2177 - python_moduleinto clang
2178 - python_domodule *.py
2179 -
2180 - popd >/dev/null || die
2181 - fi
2182 -
2183 - # AddressSanitizer symbolizer (currently separate)
2184 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
2185 - }
2186 - python_foreach_impl python_inst
2187 - popd >/dev/null || die
2188 - fi
2189 -}
2190 -
2191 -pkg_postinst() {
2192 - if use clang; then
2193 - elog "To enable OpenMP support in clang, install sys-libs/libomp"
2194 - elog "and use the '-fopenmp=libomp' command line option"
2195 - fi
2196 -}
2197
2198 diff --git a/sys-devel/llvm/llvm-3.7.0.ebuild b/sys-devel/llvm/llvm-3.7.0.ebuild
2199 deleted file mode 100644
2200 index 8da56ff..0000000
2201 --- a/sys-devel/llvm/llvm-3.7.0.ebuild
2202 +++ /dev/null
2203 @@ -1,492 +0,0 @@
2204 -# Copyright 1999-2015 Gentoo Foundation
2205 -# Distributed under the terms of the GNU General Public License v2
2206 -# $Id$
2207 -
2208 -EAPI=5
2209 -
2210 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
2211 -PYTHON_COMPAT=( python2_7 pypy )
2212 -
2213 -inherit check-reqs cmake-utils eutils flag-o-matic multilib \
2214 - multilib-minimal python-r1 toolchain-funcs pax-utils
2215 -
2216 -DESCRIPTION="Low Level Virtual Machine"
2217 -HOMEPAGE="http://llvm.org/"
2218 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
2219 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
2220 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
2221 - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
2222 - lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
2223 - !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
2224 -
2225 -LICENSE="UoI-NCSA"
2226 -SLOT="0/${PV}"
2227 -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"
2228 -IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
2229 - python +static-analyzer test xml video_cards_radeon kernel_Darwin"
2230 -
2231 -COMMON_DEPEND="
2232 - sys-libs/zlib:0=
2233 - clang? (
2234 - python? ( ${PYTHON_DEPS} )
2235 - static-analyzer? (
2236 - dev-lang/perl:*
2237 - ${PYTHON_DEPS}
2238 - )
2239 - xml? ( dev-libs/libxml2:2= )
2240 - )
2241 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
2242 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
2243 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
2244 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
2245 - ocaml? (
2246 - dev-lang/ocaml:0=
2247 - dev-ml/findlib
2248 - dev-ml/ocaml-ctypes )"
2249 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
2250 -DEPEND="${COMMON_DEPEND}
2251 - dev-lang/perl
2252 - >=sys-devel/make-3.81
2253 - >=sys-devel/flex-2.5.4
2254 - >=sys-devel/bison-1.875d
2255 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
2256 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
2257 - )
2258 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
2259 - kernel_Darwin? ( sys-libs/libcxx )
2260 - clang? ( xml? ( virtual/pkgconfig ) )
2261 - doc? ( dev-python/sphinx )
2262 - libffi? ( virtual/pkgconfig )
2263 - lldb? ( dev-lang/swig )
2264 - !!<dev-python/configparser-3.3.0.2
2265 - ocaml? ( test? ( dev-ml/ounit ) )
2266 - ${PYTHON_DEPS}"
2267 -RDEPEND="${COMMON_DEPEND}
2268 - clang? ( !<=sys-devel/clang-${PV}-r99 )
2269 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
2270 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
2271 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
2272 -
2273 -# pypy gives me around 1700 unresolved tests due to open file limit
2274 -# being exceeded. probably GC does not close them fast enough.
2275 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
2276 - lldb? ( clang )
2277 - test? ( || ( $(python_gen_useflags 'python*') ) )"
2278 -
2279 -S=${WORKDIR}/${P/_}.src
2280 -
2281 -pkg_pretend() {
2282 - # in megs
2283 - # !clang !debug !multitarget -O2 400
2284 - # !clang !debug multitarget -O2 550
2285 - # clang !debug !multitarget -O2 950
2286 - # clang !debug multitarget -O2 1200
2287 - # !clang debug multitarget -O2 5G
2288 - # clang !debug multitarget -O0 -g 12G
2289 - # clang debug multitarget -O2 16G
2290 - # clang debug multitarget -O0 -g 14G
2291 -
2292 - local build_size=550
2293 - use clang && build_size=1200
2294 -
2295 - if use debug; then
2296 - ewarn "USE=debug is known to increase the size of package considerably"
2297 - ewarn "and cause the tests to fail."
2298 - ewarn
2299 -
2300 - (( build_size *= 14 ))
2301 - elif is-flagq '-g?(gdb)?([1-9])'; then
2302 - ewarn "The C++ compiler -g option is known to increase the size of the package"
2303 - ewarn "considerably. If you run out of space, please consider removing it."
2304 - ewarn
2305 -
2306 - (( build_size *= 10 ))
2307 - fi
2308 -
2309 - # Multiply by number of ABIs :).
2310 - local abis=( $(multilib_get_enabled_abis) )
2311 - (( build_size *= ${#abis[@]} ))
2312 -
2313 - local CHECKREQS_DISK_BUILD=${build_size}M
2314 - check-reqs_pkg_pretend
2315 -
2316 - if [[ ${MERGE_TYPE} != binary ]]; then
2317 - echo 'int main() {return 0;}' > "${T}"/test.cxx || die
2318 - ebegin "Trying to build a C++11 test program"
2319 - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
2320 - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
2321 - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
2322 - eerror "to gcc-4.7 or an equivalent version supporting C++11."
2323 - die "Currently active compiler does not support -std=c++11"
2324 - fi
2325 - eend ${?}
2326 - fi
2327 -}
2328 -
2329 -pkg_setup() {
2330 - pkg_pretend
2331 -}
2332 -
2333 -src_unpack() {
2334 - default
2335 -
2336 - if use clang; then
2337 - mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
2338 - || die "clang source directory move failed"
2339 - mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
2340 - || die "compiler-rt source directory move failed"
2341 - mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
2342 - || die "clang-tools-extra source directory move failed"
2343 - fi
2344 -
2345 - if use lldb; then
2346 - mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
2347 - || die "lldb source directory move failed"
2348 - fi
2349 -}
2350 -
2351 -src_prepare() {
2352 - # Make ocaml warnings non-fatal, bug #537308
2353 - sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
2354 - # Fix libdir for ocaml bindings install, bug #559134
2355 - epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
2356 -
2357 - # Make it possible to override Sphinx HTML install dirs
2358 - # https://llvm.org/bugs/show_bug.cgi?id=23780
2359 - epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
2360 -
2361 - # Prevent race conditions with parallel Sphinx runs
2362 - # https://llvm.org/bugs/show_bug.cgi?id=23781
2363 - epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
2364 -
2365 - # Prevent installing libgtest
2366 - # https://llvm.org/bugs/show_bug.cgi?id=18341
2367 - epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
2368 -
2369 - if use clang; then
2370 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
2371 - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
2372 -
2373 - epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
2374 -
2375 - sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
2376 - tools/clang/tools/scan-build/scan-build || die
2377 -
2378 - # Install clang runtime into /usr/lib/clang
2379 - # https://llvm.org/bugs/show_bug.cgi?id=23792
2380 - epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
2381 - epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
2382 -
2383 - # Make it possible to override CLANG_LIBDIR_SUFFIX
2384 - # (that is used only to find LLVMgold.so)
2385 - # https://llvm.org/bugs/show_bug.cgi?id=23793
2386 - epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
2387 -
2388 - # Fix WX sections, bug #421527
2389 - find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
2390 - -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
2391 - -i {} \; || die
2392 -
2393 - # Workaround bug #553416 until upstream fixes it
2394 - epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch
2395 - fi
2396 -
2397 - if use lldb; then
2398 - # Do not install dummy readline.so module from
2399 - # https://llvm.org/bugs/show_bug.cgi?id=18841
2400 - sed -e 's/add_subdirectory(readline)/#&/' \
2401 - -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
2402 - fi
2403 -
2404 - # User patches
2405 - epatch_user
2406 -
2407 - python_setup
2408 -
2409 - # Native libdir is used to hold LLVMgold.so
2410 - NATIVE_LIBDIR=$(get_libdir)
2411 -}
2412 -
2413 -multilib_src_configure() {
2414 - local targets
2415 - if use multitarget; then
2416 - targets=all
2417 - else
2418 - targets='host;CppBackend'
2419 - use video_cards_radeon && targets+=';AMDGPU'
2420 - fi
2421 -
2422 - local ffi_cflags ffi_ldflags
2423 - if use libffi; then
2424 - ffi_cflags=$(pkg-config --cflags-only-I libffi)
2425 - ffi_ldflags=$(pkg-config --libs-only-L libffi)
2426 - fi
2427 -
2428 - local libdir=$(get_libdir)
2429 - local mycmakeargs=(
2430 - "${mycmakeargs[@]}"
2431 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
2432 -
2433 - -DBUILD_SHARED_LIBS=ON
2434 - -DLLVM_ENABLE_TIMESTAMPS=OFF
2435 - -DLLVM_TARGETS_TO_BUILD="${targets}"
2436 - -DLLVM_BUILD_TESTS=$(usex test)
2437 -
2438 - -DLLVM_ENABLE_FFI=$(usex libffi)
2439 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
2440 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
2441 - -DLLVM_ENABLE_EH=ON
2442 - -DLLVM_ENABLE_RTTI=ON
2443 -
2444 - -DWITH_POLLY=OFF # TODO
2445 -
2446 - -DLLVM_HOST_TRIPLE="${CHOST}"
2447 -
2448 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
2449 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
2450 -
2451 - -DHAVE_HISTEDIT_H=$(usex libedit)
2452 - )
2453 -
2454 - if use lldb; then
2455 - mycmakeargs+=(
2456 - -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
2457 - -DLLDB_DISABLE_CURSES=$(usex !ncurses)
2458 - -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
2459 - )
2460 - fi
2461 -
2462 - if ! multilib_is_native_abi || ! use ocaml; then
2463 - mycmakeargs+=(
2464 - -DOCAMLFIND=NO
2465 - )
2466 - fi
2467 -# Note: go bindings have no CMake rules at the moment
2468 -# but let's kill the check in case they are introduced
2469 -# if ! multilib_is_native_abi || ! use go; then
2470 - mycmakeargs+=(
2471 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
2472 - )
2473 -# fi
2474 -
2475 - if multilib_is_native_abi; then
2476 - mycmakeargs+=(
2477 - -DLLVM_BUILD_DOCS=$(usex doc)
2478 - -DLLVM_ENABLE_SPHINX=$(usex doc)
2479 - -DLLVM_ENABLE_DOXYGEN=OFF
2480 - -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
2481 - )
2482 -
2483 - if use clang; then
2484 - mycmakeargs+=(
2485 - -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
2486 - )
2487 - fi
2488 -
2489 - if use gold; then
2490 - mycmakeargs+=(
2491 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
2492 - )
2493 - fi
2494 -
2495 - if use lldb; then
2496 - mycmakeargs+=(
2497 - -DLLDB_DISABLE_PYTHON=$(usex !python)
2498 - )
2499 - fi
2500 -
2501 - else
2502 - if use clang; then
2503 - mycmakeargs+=(
2504 - # disable compiler-rt on non-native ABI because:
2505 - # 1. it fails to configure because of -m32
2506 - # 2. it is shared between ABIs so no point building
2507 - # it multiple times
2508 - -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
2509 - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
2510 - )
2511 - fi
2512 - if use lldb; then
2513 - mycmakeargs+=(
2514 - # only run swig on native abi
2515 - -DLLDB_DISABLE_PYTHON=ON
2516 - )
2517 - fi
2518 - fi
2519 -
2520 - if use clang; then
2521 - mycmakeargs+=(
2522 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
2523 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
2524 - -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
2525 - )
2526 -
2527 - # -- not needed when compiler-rt is built with host compiler --
2528 - # cmake passes host C*FLAGS to compiler-rt build
2529 - # which is performed using clang, so we need to filter out
2530 - # some flags clang does not support
2531 - # (if you know some more flags that don't work, let us know)
2532 - #filter-flags -msahf -frecord-gcc-switches
2533 - fi
2534 -
2535 - cmake-utils_src_configure
2536 -}
2537 -
2538 -multilib_src_compile() {
2539 - cmake-utils_src_compile
2540 - # TODO: not sure why this target is not correctly called
2541 - multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
2542 -
2543 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
2544 - pax-mark m "${BUILD_DIR}"/bin/lli
2545 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
2546 -
2547 - if use test; then
2548 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
2549 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
2550 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
2551 - fi
2552 -}
2553 -
2554 -multilib_src_test() {
2555 - # respect TMPDIR!
2556 - local -x LIT_PRESERVES_TMP=1
2557 - local test_targets=( check )
2558 - # clang tests won't work on non-native ABI because we skip compiler-rt
2559 - multilib_is_native_abi && use clang && test_targets+=( check-clang )
2560 - cmake-utils_src_make "${test_targets[@]}"
2561 -}
2562 -
2563 -src_install() {
2564 - local MULTILIB_CHOST_TOOLS=(
2565 - /usr/bin/llvm-config
2566 - )
2567 -
2568 - local MULTILIB_WRAPPED_HEADERS=(
2569 - /usr/include/llvm/Config/config.h
2570 - /usr/include/llvm/Config/llvm-config.h
2571 - )
2572 -
2573 - if use clang; then
2574 - # note: magic applied in multilib_src_install()!
2575 - CLANG_VERSION=${PV%.*}
2576 -
2577 - MULTILIB_CHOST_TOOLS+=(
2578 - /usr/bin/clang
2579 - /usr/bin/clang++
2580 - /usr/bin/clang-cl
2581 - /usr/bin/clang-${CLANG_VERSION}
2582 - /usr/bin/clang++-${CLANG_VERSION}
2583 - /usr/bin/clang-cl-${CLANG_VERSION}
2584 - )
2585 -
2586 - MULTILIB_WRAPPED_HEADERS+=(
2587 - /usr/include/clang/Config/config.h
2588 - )
2589 - fi
2590 -
2591 - multilib-minimal_src_install
2592 -}
2593 -
2594 -multilib_src_install() {
2595 - cmake-utils_src_install
2596 -
2597 - if multilib_is_native_abi; then
2598 - # Install man pages.
2599 - use doc || doman "${WORKDIR}"/${P}-manpages/*.1
2600 -
2601 - # Symlink the gold plugin.
2602 - if use gold; then
2603 - dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
2604 - dosym "../../../../$(get_libdir)/LLVMgold.so" \
2605 - "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
2606 - fi
2607 - fi
2608 -
2609 - # apply CHOST and CLANG_VERSION to clang executables
2610 - # they're statically linked so we don't have to worry about the lib
2611 - if use clang; then
2612 - local clang_tools=( clang clang++ clang-cl )
2613 - local i
2614 -
2615 - # cmake gives us:
2616 - # - clang-X.Y
2617 - # - clang -> clang-X.Y
2618 - # - clang++, clang-cl -> clang
2619 - # we want to have:
2620 - # - clang-X.Y
2621 - # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
2622 - # - clang, clang++, clang-cl -> clang*-X.Y
2623 - # so we need to fix the two tools
2624 - for i in "${clang_tools[@]:1}"; do
2625 - rm "${ED%/}/usr/bin/${i}" || die
2626 - dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
2627 - dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
2628 - done
2629 -
2630 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
2631 - if ! multilib_is_native_abi; then
2632 - # non-native? let's replace it with a simple wrapper
2633 - for i in "${clang_tools[@]}"; do
2634 - rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
2635 - cat > "${T}"/wrapper.tmp <<-_EOF_
2636 - #!${EPREFIX}/bin/sh
2637 - exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
2638 - _EOF_
2639 - newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
2640 - done
2641 - fi
2642 - fi
2643 -}
2644 -
2645 -multilib_src_install_all() {
2646 - insinto /usr/share/vim/vimfiles
2647 - doins -r utils/vim/*/
2648 - # some users may find it useful
2649 - dodoc utils/vim/vimrc
2650 -
2651 - if use clang; then
2652 - pushd tools/clang >/dev/null || die
2653 -
2654 - if use static-analyzer ; then
2655 - pushd tools/scan-build >/dev/null || die
2656 -
2657 - dobin ccc-analyzer scan-build
2658 - dosym ccc-analyzer /usr/bin/c++-analyzer
2659 - doman scan-build.1
2660 -
2661 - insinto /usr/share/llvm
2662 - doins scanview.css sorttable.js
2663 -
2664 - popd >/dev/null || die
2665 - fi
2666 -
2667 - python_inst() {
2668 - if use static-analyzer ; then
2669 - pushd tools/scan-view >/dev/null || die
2670 -
2671 - python_doscript scan-view
2672 -
2673 - touch __init__.py || die
2674 - python_moduleinto clang
2675 - python_domodule *.py Resources
2676 -
2677 - popd >/dev/null || die
2678 - fi
2679 -
2680 - if use python ; then
2681 - pushd bindings/python/clang >/dev/null || die
2682 -
2683 - python_moduleinto clang
2684 - python_domodule *.py
2685 -
2686 - popd >/dev/null || die
2687 - fi
2688 -
2689 - # AddressSanitizer symbolizer (currently separate)
2690 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
2691 - }
2692 - python_foreach_impl python_inst
2693 - popd >/dev/null || die
2694 - fi
2695 -}