* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-08-25 8:34 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-08-25 8:34 UTC (permalink / raw
To: gentoo-commits
commit: 25e010553069b41b225a0795a6c9e592517c7df2
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 25 06:49:47 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Aug 25 08:34:17 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25e01055
sys-devel/llvm: fix 3.7.0_rc clang install, bug #558624
Package-Manager: portage-2.2.20.1
sys-devel/llvm/llvm-3.7.0_rc2.ebuild | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild b/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
index 3ea912f..4d6f428 100644
--- a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
@@ -363,7 +363,7 @@ src_install() {
if use clang; then
# note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PN%.*}
+ CLANG_VERSION=${PV%.*}
MULTILIB_CHOST_TOOLS+=(
/usr/bin/clang
@@ -386,8 +386,8 @@ multilib_src_install() {
cmake-utils_src_install
if multilib_is_native_abi; then
- # Install docs.
- #use doc && dohtml -r "${S}"/docs/_build/html/
+ # Install man pages.
+ #use doc || doman "${WORKDIR}"/${P}-manpages/*.1
# Symlink the gold plugin.
if use gold; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-08-25 19:43 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-08-25 19:43 UTC (permalink / raw
To: gentoo-commits
commit: 35a84f9f3d3d1c6b0f38e3753ed4e7a48b181c49
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 25 19:42:13 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Aug 25 19:43:30 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35a84f9f
sys-devel/llvm: release candidate bump
Package-Manager: portage-2.2.20.1
sys-devel/llvm/Manifest | 10 +++++-----
.../llvm/{llvm-3.7.0_rc2.ebuild => llvm-3.7.0_rc3.ebuild} | 2 ++
sys-devel/llvm/llvm-9999.ebuild | 2 ++
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 9a7eb59..6f8f423 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,7 +6,7 @@ DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f
DIST cfe-3.6.0.src.tar.xz 8640776 SHA256 be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d SHA512 dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe WHIRLPOOL 0df122c9d32dba5a00a97bec4a54b7b7bd8241ef625357bcf9997e3670e7c4775becec971f572073f3ffad86c7ccf616a94c06926ef9b0528248e34958e9b43f
DIST cfe-3.6.1.src.tar.xz 8616132 SHA256 74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 SHA512 a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 WHIRLPOOL 1b4b8bb33fc7dbaeb03f32ba3544580bf0424889705b9d5130127be4d514c6d2aae5e224d71e20595a31441fc4bdd7bbf647e99e57d2c1e17fff3cff9022faa1
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
-DIST cfe-3.7.0rc2.src.tar.xz 9141532 SHA256 a371a416af039eec9291b9acc167911ad9c8d9f3494111c8e53beb07b7f5dfaa SHA512 3592980a6d488228d269ae8b1147abd4b7a2f159829e25eef2cff0ccad28bec61e6fb531e74a2b55eb428a5c0dce0ba74c5a6276544b2676b6b6c3297b532d8e WHIRLPOOL 9ce3b7fa1ccaa9c61adabcede0125e21cd5bd2caf849458987c2fe1736d27c03c49a4c385ccba9a22d994d6ec6aa11dfaadfcb92310b91395010379645e8c0a0
+DIST cfe-3.7.0rc3.src.tar.xz 9146940 SHA256 da5507898510903c6f4bb80288980af4baa26234d2eefdcf8fd023738c48c06b SHA512 2d70499792f869332a3cb253046128577f1c4e87035cafe78a6b4786ace81b080ffe2d6241579e2a695ea0545570cd2a22be7d11e36d32a4530e386fde24d89c WHIRLPOOL d598aad36613346d93f43463134e9b2aed4cb0fa8687171f5e79684fd5c6294b9eb204f00aca0221bd873f10706929dde39b38faf0475adedb729a2bcc4537d8
DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
DIST clang-tools-extra-3.5.1.src.tar.xz 215776 SHA256 e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906 SHA512 eefacd6857584c9a3186815a7d015a595f32cd926f6c221245d388b8cb9266c52e0980a8e94f01f49c452510fdd42e659b02f116619d3d0e35170566f0704712 WHIRLPOOL a3d14e21f201cc02649833edd67ba04f17c88486fbf399327dbb76d21e151b956a4f58cd7446b8563f72fa1cee06a8bd4abbc53234761a3a69fc1afc99ced87d
@@ -14,7 +14,7 @@ DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266
DIST clang-tools-extra-3.6.0.src.tar.xz 248688 SHA256 3aa949ba82913490a75697287d9ee8598c619fae0aa6bb8fddf0095ff51bc812 SHA512 52e0cd3cce3047bb98d52e5c03ac4a8c549fcdc628f57492727f3e7659b2d4bd29ad98ab4ebab387233911fbb098861ec020b28c051e6b2c17d73dd490beebf3 WHIRLPOOL 423f018a2943d16ac605d36bece61046423974c2ffbcc7e4a9aebc5efbb2444ecead70e46bc05f51f4fedbfef338d177b5b16969e8fb0df0bbc911200ce483ae
DIST clang-tools-extra-3.6.1.src.tar.xz 248592 SHA256 f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 SHA512 3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 WHIRLPOOL b35c2118efff758358ed9945384218327767a48ae18acdaf2233a5b97e1dc5a682023ddf78d989d1278119c277aecec596c37c5dab8ea2b16a1c9348eb40d9e6
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
-DIST clang-tools-extra-3.7.0rc2.src.tar.xz 276624 SHA256 3c51ded360181d180227857b72ea7b32c5febf777188911b23c44a1c24feb7d4 SHA512 8fff1bf61752ee1b72a126174823365f004fe5a08bd87a32de4f5895ec8e044c78a814e8fab306055478e35b1485dc19d0c3156e90a9946b9239e2be3dfe7956 WHIRLPOOL f148e686b8d6e95051a851af31d758ef47ae0b08d87487518c6898c4767e73b538d95574d143f2fc6504f0ecd1553c3bae76524d369e195fa8a26e634104ad71
+DIST clang-tools-extra-3.7.0rc3.src.tar.xz 276560 SHA256 d5f1ca1d745d9d408eec33cbe538d3f789c730f910a55f727718b157399dc2dc SHA512 faaf44f675650bb77c8b10e5f77a4619e2fa2a8e83704f30a812bdbe2006c25e9641683b007a142f47954e5c1314a31671022c760f04db7b43e56bdaca23fed6 WHIRLPOOL d58d8fc676c6efcfa7c96cfaa9d18ad1dade017090dc8f9bd6580f22ba2bdbe5db81c97fa4025bb6fb0c73e64719d119de2fc3d51597dec32482d84301f5bd6e
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
@@ -23,8 +23,8 @@ DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965
DIST compiler-rt-3.6.0.src.tar.xz 1140616 SHA256 7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 SHA512 2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 WHIRLPOOL 1836b59c2369457aac79dc113b9a76623da30195a460afd0e25997aa21855991cdee78d5aec12b45d05d7d14e42d5fc7678f1c169b5a7fd500681a34d02d4468
DIST compiler-rt-3.6.1.src.tar.xz 1128460 SHA256 fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f SHA512 121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a WHIRLPOOL fabbf5a63734f879d1698cd65846beb1cfa8559009b37bf5b5f4e239e62c9a9014d484233674cf357fb7aabb04ac8df840e832c764caf4b4a3b662ff0a51115e
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
-DIST compiler-rt-3.7.0rc2.src.tar.xz 1191940 SHA256 67574dee852919b3ab3259c7b4c06e9568d3afa55d918737a409171e8cd92639 SHA512 7f664af340d7d3699348199d2c5817fa1cb4264f2119e4d061dbf88f6f0ed2eea78c4d2dafa198dd9013f7ff2fb11342e0d5181d6ff9838e9c7a01872430e937 WHIRLPOOL 1db2de9ef18412b71ed8d9ea2ac5a14056426acbd26de8852a9dfa9d82175db8b98b5944b3389b08ff0eeb10cd49601f619a8906375001c4fdd3668e58c602a1
-DIST lldb-3.7.0rc2.src.tar.xz 10645800 SHA256 56a3e14de7568f1fa151f7d1af014dfc4f54e589c062ba04b2d9b7ae1f28e1ae SHA512 af55731213fa65e96daff5ed95d7b101609103575ffe854e75296ca7cc6001e7b2d3198a3301573b4f70cdfea6752e5db736ba6e17937adce316ef6206d4b2a4 WHIRLPOOL 16eac78fcd2c3f8988450885dd4a52cf41b6f0367878811ef72f784b67cec8fb14591ca205a9b443691e8e7d702a7667c4e7aded3aaa2ac3276d022c8dc2d615
+DIST compiler-rt-3.7.0rc3.src.tar.xz 1194088 SHA256 0e822f587363c19e4d527a3f7c43eaf80ab14c1e057e9baa28337b69dc5a1a6b SHA512 74a7c1249032f4ca6289af45cb78a2180b8131efefb988fe414030fb7aaf442b6ee6acad88173e257dac7887014208ec27a6f461e05f0741260627fc075b28b8 WHIRLPOOL f10bc5edec5573511ff8270a3432c57c42efada2b634216a026c3d901d0a474bd89ffbd5ec0614b571306884ab4d4dff8bad4a9778f5cc0106555560f6a05a46
+DIST lldb-3.7.0rc3.src.tar.xz 10649692 SHA256 5db4abd1cc1883e55cd3322d525475e7e91483a32f7d27dd23fe3914ee43f10d SHA512 e3aa5d6f613c0f9ce331f0acaad3111fd657d2032a9a1ea3f822a9314bfaf6789fc4b3ebf3bffd48d82a35ccc22b47a0d7595ed70679fe75dcb1f0a52289df35 WHIRLPOOL af2d0e6657c538136bd57ab4c3a3a6061bc46a507afc73eee73c2dcb6341cc99e64798e21ced74914aa35adee9c202feb428470786a843b72da7189a2434b618
DIST llvm-2.8-r1.tgz 9112527 SHA256 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b SHA512 8688d5cf415e8aef74cca6a14587af36234a6347e2238ac2c0d66805c42926b9399f36390e1a58a4081e902b0904adb818c1a360d5df572dfa893d6f79f5e35a WHIRLPOOL 0da9250e31242b55586c9138089e742aab5d414d5f3412ebf917ae8b9506f984c6134a932be93ec7e4c01c79f6c21d508cb0b2e0ec283419bd4ae4db745430ae
DIST llvm-2.9.tgz 9574781 SHA256 661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779 SHA512 9cb0fa0bb8ac02661fd6f926001a15e0ad4a9660683421dc86b03f1cf5184142c5815f9f9283ee7cdf8d474e01177f83406122253342e0e95ddc878821660070 WHIRLPOOL f7b445b6b5d455f29ca68c342511b8b5e6eedec525af1cc60440c4de544df2332aa241bffca29eda5d2428a3f518e093a626bd45c7f8a9e0656d0f68aef5d9d1
DIST llvm-3.0.tar.gz 10350539 SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477 SHA512 602bb5590b70cb9138bc19d8c630c62bbabdcb2132215c921fe4bce4e3f74dfc66440b9dcd458ff55a86047cc9cc0417c6563715c133e0db222e4b88f07c13bb WHIRLPOOL 6f4ece3ec747352cd78b08d25c5b1cda91140eb6957d509161e45395e47c074f8d2102bfcaeabcdef8c1f6672f2cf06d88e290667666122da029391b3528d440
@@ -44,4 +44,4 @@ DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee5
DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b
DIST llvm-3.6.1.src.tar.xz 12798852 SHA256 2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a SHA512 fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f WHIRLPOOL c6340956e9935c0e4a986f1a8da9458ca3b3a7bdff376d33c7a3c60bc5154fb5820bfaf43fb4118f28ab9b0f356f436672fd2f984bc629eeee01233b703030fb
DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f
-DIST llvm-3.7.0rc2.src.tar.xz 14624620 SHA256 36a79ba3198afb5c973d89ec2e4ef1d4587d97fa3b3f51fb1badcd7c0c868213 SHA512 c4cbde12650e6b6537b2d1d6cdae85e0f009cbd69c848579ca45946564a7667b212883a9cf49c82e28c9efe978dcc1ce1ac9c21b506c31149b7f69a4f996e0d0 WHIRLPOOL 81015661b5e1a1b1b8f2e264403b9c7d809782f8fa3ba6090343e6a9f6f85dba361b449bf2d72ff80d27bbea87ee63ca94f3c23b6478e10858e5b2f53384d52f
+DIST llvm-3.7.0rc3.src.tar.xz 14631476 SHA256 906d08033a223163eef00dfa865ac06816c389ee60bc3612c608a407e846bda5 SHA512 2aa67136d273374290d37e6c83b4348536a2f0cf29551516394064a0d5bd175106d160c492b07518e4baba86497981f3b8a5c3ad23bb322dadd595b949874b4a WHIRLPOOL 6ae9c537bf70b75dac65d0c49467abb4d2e28d69d30a4c424f924814407e0adc7a8af0ae78524c585866e3cef343d7763dcdaf0418ce2424554109febbc40016
diff --git a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild b/sys-devel/llvm/llvm-3.7.0_rc3.ebuild
similarity index 98%
rename from sys-devel/llvm/llvm-3.7.0_rc2.ebuild
rename to sys-devel/llvm/llvm-3.7.0_rc3.ebuild
index 4d6f428..209ea84 100644
--- a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0_rc3.ebuild
@@ -330,6 +330,8 @@ multilib_src_configure() {
multilib_src_compile() {
cmake-utils_src_compile
+ # TODO: not sure why this target is not correctly called
+ multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
pax-mark m "${BUILD_DIR}"/bin/lli
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index a11342a..14ad0d6 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -337,6 +337,8 @@ multilib_src_configure() {
multilib_src_compile() {
cmake-utils_src_compile
+ # TODO: not sure why this target is not correctly called
+ multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
pax-mark m "${BUILD_DIR}"/bin/lli
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-09-07 15:18 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-09-07 15:18 UTC (permalink / raw
To: gentoo-commits
commit: 0257fe53aebd6c2a5cd3a37e222222c25ad9fa52
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 7 15:15:34 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Mon Sep 7 15:18:20 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0257fe53
sys-devel/llvm: fix bugs #559588, #559828, #559850
Warn about needed library for OpenMP support in clang, thanks Jeremi Piotrowski <jeremi.piotrowski <AT> gmail.com> in #559588
Install utilities like FileCheck, thanks William Throwe <wtt6 <AT> cornell.edu> in #559828
Adjust multilib dependency on libxml2, thanks Alexander Stein <alexanders83 <AT> web.de> in #559850
Package-Manager: portage-2.2.20.1
.../{llvm-9999.ebuild => llvm-3.7.0-r1.ebuild} | 72 +++++++++++-----------
sys-devel/llvm/llvm-9999.ebuild | 10 ++-
2 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
similarity index 88%
copy from sys-devel/llvm/llvm-9999.ebuild
copy to sys-devel/llvm/llvm-3.7.0-r1.ebuild
index 325a857..c1ef867 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
@@ -7,19 +7,22 @@ EAPI=5
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
PYTHON_COMPAT=( python2_7 pypy )
-inherit check-reqs cmake-utils eutils flag-o-matic git-r3 multilib \
+inherit check-reqs cmake-utils eutils flag-o-matic multilib \
multilib-minimal python-r1 toolchain-funcs pax-utils
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="http://llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+ !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
-KEYWORDS=""
-IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon kernel_Darwin"
COMMON_DEPEND="
@@ -30,7 +33,7 @@ COMMON_DEPEND="
dev-lang/perl:*
${PYTHON_DEPS}
)
- xml? ( dev-libs/libxml2:2= )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
)
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
@@ -70,6 +73,8 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
lldb? ( clang )
test? ( || ( $(python_gen_useflags 'python*') ) )"
+S=${WORKDIR}/${P/_}.src
+
pkg_pretend() {
# in megs
# !clang !debug !multitarget -O2 400
@@ -123,40 +128,28 @@ pkg_setup() {
}
src_unpack() {
- if use clang; then
- git-r3_fetch "http://llvm.org/git/compiler-rt.git
- https://github.com/llvm-mirror/compiler-rt.git"
- git-r3_fetch "http://llvm.org/git/clang.git
- https://github.com/llvm-mirror/clang.git"
- git-r3_fetch "http://llvm.org/git/clang-tools-extra.git
- https://github.com/llvm-mirror/clang-tools-extra.git"
- fi
- if use lldb; then
- git-r3_fetch "http://llvm.org/git/lldb.git
- https://github.com/llvm-mirror/lldb.git"
- fi
- git-r3_fetch
+ default
if use clang; then
- git-r3_checkout http://llvm.org/git/compiler-rt.git \
- "${S}"/projects/compiler-rt
- git-r3_checkout http://llvm.org/git/clang.git \
- "${S}"/tools/clang
- git-r3_checkout http://llvm.org/git/clang-tools-extra.git \
- "${S}"/tools/clang/tools/extra
+ mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
+ || die "clang source directory move failed"
+ mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
+ || die "compiler-rt source directory move failed"
+ mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
+ || die "clang-tools-extra source directory move failed"
fi
+
if use lldb; then
- git-r3_checkout http://llvm.org/git/lldb.git \
- "${S}"/tools/lldb
+ mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
+ || die "lldb source directory move failed"
fi
- git-r3_checkout
}
src_prepare() {
# Make ocaml warnings non-fatal, bug #537308
sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
# Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
+ epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
# Make it possible to override Sphinx HTML install dirs
# https://llvm.org/bugs/show_bug.cgi?id=23780
@@ -170,9 +163,6 @@ src_prepare() {
# https://llvm.org/bugs/show_bug.cgi?id=18341
epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
- # Allow custom cmake build types (like 'Gentoo')
- epatch "${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
-
if use clang; then
# Automatically select active system GCC's libraries, bugs #406163 and #417913
epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
@@ -184,7 +174,7 @@ src_prepare() {
# Install clang runtime into /usr/lib/clang
# https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
+ epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
# Make it possible to override CLANG_LIBDIR_SUFFIX
@@ -285,6 +275,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DLLVM_INSTALL_UTILS=ON
)
if use clang; then
@@ -379,7 +370,7 @@ src_install() {
if use clang; then
# note: magic applied in multilib_src_install()!
- CLANG_VERSION=3.8
+ CLANG_VERSION=${PV%.*}
MULTILIB_CHOST_TOOLS+=(
/usr/bin/clang
@@ -402,8 +393,8 @@ multilib_src_install() {
cmake-utils_src_install
if multilib_is_native_abi; then
- # Install docs.
- #use doc && dohtml -r "${S}"/docs/_build/html/
+ # Install man pages.
+ use doc || doman "${WORKDIR}"/${P}-manpages/*.1
# Symlink the gold plugin.
if use gold; then
@@ -500,3 +491,10 @@ multilib_src_install_all() {
popd >/dev/null || die
fi
}
+
+pkg_postinst() {
+ if use clang; then
+ elog "To enable OpenMP support in clang, install sys-libs/libomp"
+ elog "and use the '-fopenmp=libomp' command line option"
+ fi
+}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 325a857..8776cf8 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -30,7 +30,7 @@ COMMON_DEPEND="
dev-lang/perl:*
${PYTHON_DEPS}
)
- xml? ( dev-libs/libxml2:2= )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
)
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
@@ -285,6 +285,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DLLVM_INSTALL_UTILS=ON
)
if use clang; then
@@ -500,3 +501,10 @@ multilib_src_install_all() {
popd >/dev/null || die
fi
}
+
+pkg_postinst() {
+ if use clang; then
+ elog "To enable OpenMP support in clang, install sys-libs/libomp"
+ elog "and use the '-fopenmp=libomp' command line option"
+ fi
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-09-08 14:35 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-09-08 14:35 UTC (permalink / raw
To: gentoo-commits
commit: 0f3970d43b90f05c54268e36e5b22b3a3d75b394
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 8 14:35:19 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Sep 8 14:35:30 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f3970d4
sys-devel/llvm: cleaner fix for #553416
Package-Manager: portage-2.2.20.1
sys-devel/llvm/llvm-3.7.0-r1.ebuild | 4 +---
sys-devel/llvm/llvm-9999.ebuild | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
index c1ef867..068f1b8 100644
--- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
@@ -186,9 +186,6 @@ src_prepare() {
find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
-e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
-i {} \; || die
-
- # Workaround bug #553416 until upstream fixes it
- epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch
fi
if use lldb; then
@@ -275,6 +272,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
-DLLVM_INSTALL_UTILS=ON
)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 8776cf8..1d0a6e6 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -196,9 +196,6 @@ src_prepare() {
find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
-e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
-i {} \; || die
-
- # Workaround bug #553416 until upstream fixes it
- epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch
fi
if use lldb; then
@@ -285,6 +282,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
-DLLVM_INSTALL_UTILS=ON
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-10-01 20:11 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-10-01 20:11 UTC (permalink / raw
To: gentoo-commits
commit: ec5314383b992c127b4164280b901664577aae98
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 1 20:11:47 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 1 20:11:47 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec531438
sys-devel/llvm: Add dependency on binutils-libs on latest ~arch
Try to fix the issue of llvm being unable to find binutils headers
through adding a dependency on sys-libs/binutils-libs. Those headers
used to be linked by binutils-config but this behavior changed lately
requesting developers to install the additional copies of all libraries
and headers instead.
Bug: https://bugs.gentoo.org/show_bug.cgi?id=561994
Package-Manager: portage-2.2.20
sys-devel/llvm/llvm-3.7.0-r1.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
index 068f1b8..910b6e1 100644
--- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
@@ -56,6 +56,7 @@ DEPEND="${COMMON_DEPEND}
kernel_Darwin? ( sys-libs/libcxx )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
lldb? ( dev-lang/swig )
!!<dev-python/configparser-3.3.0.2
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-10-19 14:47 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-10-19 14:47 UTC (permalink / raw
To: gentoo-commits
commit: 9fba2ed7bc52047ecd71299dc29a8670df274241
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 19 14:46:49 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Mon Oct 19 14:46:49 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fba2ed7
sys-devel/llvm: adjust llvm[ocaml] blocker, thanks uzu
Package-Manager: portage-2.2.23
sys-devel/llvm/llvm-3.7.0-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.0-r2.ebuild b/sys-devel/llvm/llvm-3.7.0-r2.ebuild
index 82c0d64..c63f370 100644
--- a/sys-devel/llvm/llvm-3.7.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r2.ebuild
@@ -43,7 +43,7 @@ COMMON_DEPEND="
>=dev-lang/ocaml-4.00.0:0=
dev-ml/findlib
dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r2[ocaml] )"
+ !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${COMMON_DEPEND}
dev-lang/perl
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-11-04 10:47 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-11-04 10:47 UTC (permalink / raw
To: gentoo-commits
commit: cfedf0e8a3762f656d83c7e2db1f0c55ad82eef0
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 4 10:47:10 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Wed Nov 4 10:47:21 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfedf0e8
sys-devel/llvm: clean unused versions
Package-Manager: portage-2.2.23
sys-devel/llvm/Manifest | 13 -
sys-devel/llvm/llvm-3.5.1.ebuild | 530 -----------------------------------
sys-devel/llvm/llvm-3.6.0.ebuild | 534 -----------------------------------
sys-devel/llvm/llvm-3.6.1.ebuild | 541 ------------------------------------
sys-devel/llvm/llvm-3.7.0-r1.ebuild | 499 ---------------------------------
sys-devel/llvm/llvm-3.7.0.ebuild | 492 --------------------------------
6 files changed, 2609 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 112f58f..51b1602 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,27 +1,18 @@
DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a
DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd
DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7
-DIST cfe-3.5.1.src.tar.xz 8268140 SHA256 6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c SHA512 bd904586f6155c05d2f7ddd05b86c28feae883cdc60e2cb3b48d4ae0ce55916064bcea414a46518d0fb73618f18a3f3fca6cc4cad81083428a2221299f5c5c7f WHIRLPOOL eca619b84ae6dfbca4b3d46601419d2c5a0cd77d643336c560d4bc358f4a2b0f7123d3e87248119c3e447143859da20b9b2e94721ebb14053627f0a158d843f5
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
-DIST cfe-3.6.0.src.tar.xz 8640776 SHA256 be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d SHA512 dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe WHIRLPOOL 0df122c9d32dba5a00a97bec4a54b7b7bd8241ef625357bcf9997e3670e7c4775becec971f572073f3ffad86c7ccf616a94c06926ef9b0528248e34958e9b43f
-DIST cfe-3.6.1.src.tar.xz 8616132 SHA256 74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 SHA512 a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 WHIRLPOOL 1b4b8bb33fc7dbaeb03f32ba3544580bf0424889705b9d5130127be4d514c6d2aae5e224d71e20595a31441fc4bdd7bbf647e99e57d2c1e17fff3cff9022faa1
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
DIST cfe-3.7.0.src.tar.xz 9147204 SHA256 4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc SHA512 099d34cb019ea548c6ee85efd22b150beba0aa92061394fa3e423b1ebfe4a5c98c0586e5d56fc5c39e2b1606d36db59f442c056cc59473e32df76c8790c9d0ae WHIRLPOOL 1078d962edfb1b90044f19921f64a28c32259e34d983ddf9f9c198d13c8cd0679778a640d7a06c0bf1224d982602294c79a510034276216e3a6de21c739e6c39
DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
-DIST clang-tools-extra-3.5.1.src.tar.xz 215776 SHA256 e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906 SHA512 eefacd6857584c9a3186815a7d015a595f32cd926f6c221245d388b8cb9266c52e0980a8e94f01f49c452510fdd42e659b02f116619d3d0e35170566f0704712 WHIRLPOOL a3d14e21f201cc02649833edd67ba04f17c88486fbf399327dbb76d21e151b956a4f58cd7446b8563f72fa1cee06a8bd4abbc53234761a3a69fc1afc99ced87d
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
-DIST clang-tools-extra-3.6.0.src.tar.xz 248688 SHA256 3aa949ba82913490a75697287d9ee8598c619fae0aa6bb8fddf0095ff51bc812 SHA512 52e0cd3cce3047bb98d52e5c03ac4a8c549fcdc628f57492727f3e7659b2d4bd29ad98ab4ebab387233911fbb098861ec020b28c051e6b2c17d73dd490beebf3 WHIRLPOOL 423f018a2943d16ac605d36bece61046423974c2ffbcc7e4a9aebc5efbb2444ecead70e46bc05f51f4fedbfef338d177b5b16969e8fb0df0bbc911200ce483ae
-DIST clang-tools-extra-3.6.1.src.tar.xz 248592 SHA256 f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 SHA512 3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 WHIRLPOOL b35c2118efff758358ed9945384218327767a48ae18acdaf2233a5b97e1dc5a682023ddf78d989d1278119c277aecec596c37c5dab8ea2b16a1c9348eb40d9e6
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
DIST clang-tools-extra-3.7.0.src.tar.xz 276628 SHA256 8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd SHA512 c266eb327e2f50767b7d37c9d5713d6c70f590b59e4fe09d997f2eba0d54c9229ef6c8a2a903196380f67dffa7e35ebb47a9e5f2f097fd2a3c363481b72202eb WHIRLPOOL 681a5c14301990bb945e26375d0d31fa22b795101f342bcaaeb9d3e015c0f0f6b260b913388d086cb3054fc357845b34a6813e34614cdfa0de2c58fc6db7c64c
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
-DIST compiler-rt-3.5.1.src.tar.xz 1092452 SHA256 adf4b526f33e681aff5961f0821f5b514d3fc375410008842640b56a2e6a837a SHA512 3a4f093972b080f439c81c8b08793c311cea71afeda7ba7b4e32f19378b1cb420da7b594fa9f6a6f7826570438f67d42d3243c4b3503e1cf8a7dcedf52e8e590 WHIRLPOOL edbf11837139b48207fc6f82ecad39fbc6983cf5bd1441cbe6d50e5e484566b63c5afa2fc64cd29fb8560f07015a98c00b58c926ca7e9af47b7eea92133d0db4
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
-DIST compiler-rt-3.6.0.src.tar.xz 1140616 SHA256 7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 SHA512 2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 WHIRLPOOL 1836b59c2369457aac79dc113b9a76623da30195a460afd0e25997aa21855991cdee78d5aec12b45d05d7d14e42d5fc7678f1c169b5a7fd500681a34d02d4468
-DIST compiler-rt-3.6.1.src.tar.xz 1128460 SHA256 fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f SHA512 121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a WHIRLPOOL fabbf5a63734f879d1698cd65846beb1cfa8559009b37bf5b5f4e239e62c9a9014d484233674cf357fb7aabb04ac8df840e832c764caf4b4a3b662ff0a51115e
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
DIST compiler-rt-3.7.0.src.tar.xz 1192832 SHA256 227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b SHA512 2ba6abb3d6ec7f1469cfe1d48fde2069e9a767d19144f80f05516ac63f353ace90a9df3e9d1c1f708f3c397aba0ec61b12e4f105b25a2e1cd26b25b0dd252bc9 WHIRLPOOL 8bb535b667a7fdc1710d32e0912daee3798049f78cf70a03abc409157f02602b77f290b66185a35c464e512e55d57aab0125be6ae4843f6233f4017228afb579
DIST lldb-3.7.0.src.tar.xz 10649660 SHA256 f4d7505bc111044eaa4033af012221e492938405b62522b8e3e354c20c4b71e9 SHA512 52157782ef13e2c8b7b35ff3ccc05887195fe46ddb6bafcf0707a3c46c1e034734b55342b8dbfc46cae7a8c3cb1012345284e4bedb2344c5016b8d19a12e90df WHIRLPOOL 8c0803a51820ec67944e27061c858e95a92aefa38a1540241fead2b63c5b065c1268cf958b14d8841f62fc8aea5da1e20204704426598bfc2c4e61bcda135c43
@@ -37,12 +28,8 @@ DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e8130
DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c
DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819
DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1
-DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606
DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256
-DIST llvm-3.6.0-manpages.tar.bz2 35140 SHA256 53b14a7896f6db547fa692b43fb5b08898b251699ec505a2b9d9c9c3b632eed7 SHA512 2efe21ecaf10ced3e078e7675918f5b7fe6cfa3ba6371906f832690858024c57f4868a3af54b6de18c980d6008992d08ae21bc2a678ef12652a0a0eabad52a15 WHIRLPOOL f6bfc9ec0432566b70ab16aa99628a64e0d9f325db72a37cb1b04d6a3521625b37b858770ac1c9e313612d9475d7832f683fbbc2c3acad97c99daeb39383df45
-DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce SHA512 ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 WHIRLPOOL 4f9de6b8dd2514e7b55e8c6e6af2ab9d355ebf49f1bd113a652f71809d74060792a95f6cee5b8b3bd64d92586b46e7778f616027702c98eb726ee84375e4eea6
DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b
-DIST llvm-3.6.1.src.tar.xz 12798852 SHA256 2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a SHA512 fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f WHIRLPOOL c6340956e9935c0e4a986f1a8da9458ca3b3a7bdff376d33c7a3c60bc5154fb5820bfaf43fb4118f28ab9b0f356f436672fd2f984bc629eeee01233b703030fb
DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f
diff --git a/sys-devel/llvm/llvm-3.5.1.ebuild b/sys-devel/llvm/llvm-3.5.1.ebuild
deleted file mode 100644
index 52f8309..0000000
--- a/sys-devel/llvm/llvm-3.5.1.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit eutils flag-o-matic multibuild multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/3.5"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
- +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2= )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? ( dev-lang/ocaml:0= )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P}.src
-
-# Some people actually override that in make.conf. That sucks since
-# we need to run install per-directory, and ninja can't do that...
-# so why did it call itself ninja in the first place?
-CMAKE_MAKEFILE_GENERATOR=emake
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
- epatch "${FILESDIR}"/${PN}-3.5-gentoo-install.patch
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/Ocaml/*ml || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.5-gentoo-install.patch
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-multilib_src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- $(tc-is-static-only && echo --disable-shared)
- $(use_enable !debug optimized)
- $(use_enable debug assertions)
- $(use_enable debug expensive-checks)
- $(use_enable libedit)
- $(use_enable ncurses terminfo)
- $(use_enable libffi)
- )
-
- # well, it's used only by clang executable c-index-test
- if multilib_is_native_abi && use clang && use xml; then
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
- else
- conf_flags+=( ac_cv_prog_XML2CONFIG="" )
- fi
-
- local targets bindings
- if use multitarget; then
- targets='all'
- else
- targets='host,cpp'
- use video_cards_radeon && targets+=',r600'
- fi
- conf_flags+=( --enable-targets=${targets} )
-
- if multilib_is_native_abi; then
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
- # extra commas don't hurt
- use ocaml && bindings+=',ocaml'
- fi
-
- [[ ${bindings} ]] || bindings='none'
- conf_flags+=( --enable-bindings=${bindings} )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
- fi
-
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-set_makeargs() {
- MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- # for tests, we want it all! otherwise, we may use a little filtering...
- # adding ONLY_TOOLS also disables unittest building...
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
- local tools=( llvm-config )
- use clang && tools+=( clang )
-
- if multilib_is_native_abi; then
- tools+=(
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint
- )
-
- # the build system runs explicitly specified tools in parallel,
- # so we need to split it into two runs
- if [[ ${1} != -1 ]]; then
- # those require lto
- tools+=( llvm-lto )
- use gold && tools+=( gold )
-
- # those require clang :)
- # we need to explicitly specify all its tools
- # since we're passing BUILD_CLANG_ONLY
- use clang && tools+=(
- clang/tools/{clang-check,clang-format,extra}
- )
- fi
- fi
-
- MAKEARGS+=(
- # filter tools + disable unittests implicitly
- ONLY_TOOLS="${tools[*]}"
-
- # this disables unittests & docs from clang
- BUILD_CLANG_ONLY=YES
- )
- fi
-}
-
-multilib_src_compile() {
- local MAKEARGS
- set_makeargs -1
- emake "${MAKEARGS[@]}"
-
- if multilib_is_native_abi; then
- set_makeargs
- emake -C tools "${MAKEARGS[@]}"
-
- if use doc; then
- emake -C "${S}"/docs -f Makefile.sphinx man
- use clang && emake -C "${S}"/tools/clang/docs/tools \
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
- emake -C "${S}"/docs -f Makefile.sphinx html
- fi
- fi
-
- if use debug; then
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
- pax-mark m Debug+Asserts+Checks/bin/lli
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target
- else
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
- fi
-}
-
-multilib_src_test() {
- local MAKEARGS
- set_makeargs
-
- # build the remaining tools & unittests
- emake "${MAKEARGS[@]}"
-
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
- pax-mark m unittests/Support/Release/SupportTests
-
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- emake "${MAKEARGS[@]}" check
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied below
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-${PV}
- /usr/bin/clang++-${PV}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
-}
-
-multilib_src_install() {
- local MAKEARGS
- set_makeargs
-
- local root=${D}/_${ABI}
-
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install
- multibuild_merge_root "${root}" "${D}"
-
- if ! multilib_is_native_abi; then
- # Backwards compat, will be happily removed someday.
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
- else
- # Install docs.
- if use doc; then
- doman "${S}"/docs/_build/man/*.1
- use clang && doman "${T}"/clang.1
- dohtml -r "${S}"/docs/_build/html/
- else
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die
- fi
- doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1
- fi
-
- # Symlink the gold plugin.
- if use gold; then
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
- dosym ../../../../$(get_libdir)/LLVMgold.so \
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
- fi
- fi
-
- # apply CHOST and PV to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ )
- local i
-
- # append ${PV} and symlink back
- # TODO: use alternatives.eclass? does that make any sense?
- # maybe with USE=-clang on :0 and USE=clang on older
- for i in "${clang_tools[@]}"; do
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
- dosym "${i}"-${PV} /usr/bin/${i}
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${PV}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${PV}"
- done
- fi
- fi
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles/syntax
- doins utils/vim/*.vim
-
- if use clang; then
- cd tools/clang || die
-
- if use static-analyzer ; then
- dobin tools/scan-build/ccc-analyzer
- dosym ccc-analyzer /usr/bin/c++-analyzer
- dobin tools/scan-build/scan-build
-
- insinto /usr/share/${PN}
- doins tools/scan-build/scanview.css
- doins tools/scan-build/sorttable.js
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule __init__.py cindex.py enumerations.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.6.0.ebuild b/sys-devel/llvm/llvm-3.6.0.ebuild
deleted file mode 100644
index b789793..0000000
--- a/sys-devel/llvm/llvm-3.6.0.ebuild
+++ /dev/null
@@ -1,534 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit eutils flag-o-matic multibuild multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/3.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
- +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2= )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- dev-lang/ocaml:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-# Some people actually override that in make.conf. That sucks since
-# we need to run install per-directory, and ninja can't do that...
-# so why did it call itself ninja in the first place?
-CMAKE_MAKEFILE_GENERATOR=emake
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
- epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-multilib_src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- $(tc-is-static-only && echo --disable-shared)
- $(use_enable !debug optimized)
- $(use_enable debug assertions)
- $(use_enable debug expensive-checks)
- $(use_enable libedit)
- $(use_enable ncurses terminfo)
- $(use_enable libffi)
- )
-
- # well, it's used only by clang executable c-index-test
- if multilib_is_native_abi && use clang && use xml; then
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
- else
- conf_flags+=( ac_cv_prog_XML2CONFIG="" )
- fi
-
- local targets bindings
- if use multitarget; then
- targets='all'
- else
- targets='host,cpp'
- use video_cards_radeon && targets+=',r600'
- fi
- conf_flags+=( --enable-targets=${targets} )
-
- if multilib_is_native_abi; then
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
- # extra commas don't hurt
- use ocaml && bindings+=',ocaml'
- fi
-
- [[ ${bindings} ]] || bindings='none'
- conf_flags+=( --enable-bindings=${bindings} )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
- fi
-
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-set_makeargs() {
- MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- # for tests, we want it all! otherwise, we may use a little filtering...
- # adding ONLY_TOOLS also disables unittest building...
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
- local tools=( llvm-config )
- use clang && tools+=( clang )
-
- if multilib_is_native_abi; then
- tools+=(
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint
- )
-
- # the build system runs explicitly specified tools in parallel,
- # so we need to split it into two runs
- if [[ ${1} != -1 ]]; then
- # those require lto
- tools+=( llvm-lto )
- use gold && tools+=( gold )
-
- # those require clang :)
- # we need to explicitly specify all its tools
- # since we're passing BUILD_CLANG_ONLY
- use clang && tools+=(
- clang/tools/{clang-check,clang-format,extra}
- )
- fi
- fi
-
- MAKEARGS+=(
- # filter tools + disable unittests implicitly
- ONLY_TOOLS="${tools[*]}"
-
- # this disables unittests & docs from clang
- BUILD_CLANG_ONLY=YES
- )
- fi
-}
-
-multilib_src_compile() {
- local MAKEARGS
- set_makeargs -1
- emake "${MAKEARGS[@]}"
-
- if multilib_is_native_abi; then
- set_makeargs
- emake -C tools "${MAKEARGS[@]}"
-
- if use doc; then
- emake -C "${S}"/docs -f Makefile.sphinx man
- use clang && emake -C "${S}"/tools/clang/docs/tools \
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
- emake -C "${S}"/docs -f Makefile.sphinx html
- fi
- fi
-
- if use debug; then
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
- pax-mark m Debug+Asserts+Checks/bin/lli
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target
- else
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
- fi
-}
-
-multilib_src_test() {
- local MAKEARGS
- set_makeargs
-
- # build the remaining tools & unittests
- emake "${MAKEARGS[@]}"
-
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
- pax-mark m unittests/Support/Release/SupportTests
-
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- emake "${MAKEARGS[@]}" check
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied below
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-${PV}
- /usr/bin/clang++-${PV}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
-}
-
-multilib_src_install() {
- local MAKEARGS
- set_makeargs
-
- local root=${D}/_${ABI}
-
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install
- multibuild_merge_root "${root}" "${D}"
-
- if ! multilib_is_native_abi; then
- # Backwards compat, will be happily removed someday.
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
- else
- # Install docs.
- if use doc; then
- doman "${S}"/docs/_build/man/*.1
- use clang && doman "${T}"/clang.1
- dohtml -r "${S}"/docs/_build/html/
- else
- if ! use clang; then
- rm "${WORKDIR}"/${P}-manpages/clang.1 || die
- fi
- doman "${WORKDIR}"/${P}-manpages/*.1
- fi
-
- # Symlink the gold plugin.
- if use gold; then
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
- dosym ../../../../$(get_libdir)/LLVMgold.so \
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
- fi
- fi
-
- # apply CHOST and PV to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ )
- local i
-
- # append ${PV} and symlink back
- # TODO: use alternatives.eclass? does that make any sense?
- # maybe with USE=-clang on :0 and USE=clang on older
- for i in "${clang_tools[@]}"; do
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
- dosym "${i}"-${PV} /usr/bin/${i}
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${PV}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${PV}"
- done
- fi
- fi
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles/syntax
- doins utils/vim/*.vim
-
- if use clang; then
- cd tools/clang || die
-
- if use static-analyzer ; then
- dobin tools/scan-build/ccc-analyzer
- dosym ccc-analyzer /usr/bin/c++-analyzer
- dobin tools/scan-build/scan-build
-
- insinto /usr/share/${PN}
- doins tools/scan-build/scanview.css
- doins tools/scan-build/sorttable.js
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule __init__.py cindex.py enumerations.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.6.1.ebuild b/sys-devel/llvm/llvm-3.6.1.ebuild
deleted file mode 100644
index 6cc8a46..0000000
--- a/sys-devel/llvm/llvm-3.6.1.ebuild
+++ /dev/null
@@ -1,541 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit eutils flag-o-matic multibuild multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/3.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
- +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2= )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- dev-lang/ocaml:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-# Some people actually override that in make.conf. That sucks since
-# we need to run install per-directory, and ninja can't do that...
-# so why did it call itself ninja in the first place?
-CMAKE_MAKEFILE_GENERATOR=emake
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch
- epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch
- epatch "${FILESDIR}"/${PN}-3.6.0-ocaml-ctypes-0.4.0.patch
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444
- epatch "${FILESDIR}"/clang-3.6-fbsd-gcc49.patch
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-multilib_src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- $(tc-is-static-only && echo --disable-shared)
- $(use_enable !debug optimized)
- $(use_enable debug assertions)
- $(use_enable debug expensive-checks)
- $(use_enable libedit)
- $(use_enable ncurses terminfo)
- $(use_enable libffi)
- )
-
- # well, it's used only by clang executable c-index-test
- if multilib_is_native_abi && use clang && use xml; then
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
- else
- conf_flags+=( ac_cv_prog_XML2CONFIG="" )
- fi
-
- local targets bindings
- if use multitarget; then
- targets='all'
- else
- targets='host,cpp'
- use video_cards_radeon && targets+=',r600'
- fi
- conf_flags+=( --enable-targets=${targets} )
-
- if multilib_is_native_abi; then
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
- # extra commas don't hurt
- use ocaml && bindings+=',ocaml'
- fi
-
- [[ ${bindings} ]] || bindings='none'
- conf_flags+=( --enable-bindings=${bindings} )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
- fi
-
- # Enable large file support, bug #550708
- append-lfs-flags
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-set_makeargs() {
- MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- # for tests, we want it all! otherwise, we may use a little filtering...
- # adding ONLY_TOOLS also disables unittest building...
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
- local tools=( llvm-config )
- use clang && tools+=( clang )
-
- if multilib_is_native_abi; then
- tools+=(
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint
- )
-
- # the build system runs explicitly specified tools in parallel,
- # so we need to split it into two runs
- if [[ ${1} != -1 ]]; then
- # those require lto
- tools+=( llvm-lto )
- use gold && tools+=( gold )
-
- # those require clang :)
- # we need to explicitly specify all its tools
- # since we're passing BUILD_CLANG_ONLY
- use clang && tools+=(
- clang/tools/{clang-check,clang-format,extra}
- )
- fi
- fi
-
- MAKEARGS+=(
- # filter tools + disable unittests implicitly
- ONLY_TOOLS="${tools[*]}"
-
- # this disables unittests & docs from clang
- BUILD_CLANG_ONLY=YES
- )
- fi
-}
-
-multilib_src_compile() {
- local MAKEARGS
- set_makeargs -1
- emake "${MAKEARGS[@]}"
-
- if multilib_is_native_abi; then
- set_makeargs
- emake -C tools "${MAKEARGS[@]}"
-
- if use doc; then
- emake -C "${S}"/docs -f Makefile.sphinx man
- use clang && emake -C "${S}"/tools/clang/docs/tools \
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
- emake -C "${S}"/docs -f Makefile.sphinx html
- fi
- fi
-
- if use debug; then
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
- pax-mark m Debug+Asserts+Checks/bin/lli
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target
- else
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
- fi
-}
-
-multilib_src_test() {
- local MAKEARGS
- set_makeargs
-
- # build the remaining tools & unittests
- emake "${MAKEARGS[@]}"
-
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
- pax-mark m unittests/Support/Release/SupportTests
-
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- emake "${MAKEARGS[@]}" check
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied below
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-${PV}
- /usr/bin/clang++-${PV}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
-}
-
-multilib_src_install() {
- local MAKEARGS
- set_makeargs
-
- local root=${D}/_${ABI}
-
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install
- multibuild_merge_root "${root}" "${D}"
-
- if ! multilib_is_native_abi; then
- # Backwards compat, will be happily removed someday.
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
- else
- # Install docs.
- if use doc; then
- doman "${S}"/docs/_build/man/*.1
- use clang && doman "${T}"/clang.1
- dohtml -r "${S}"/docs/_build/html/
- else
- if ! use clang; then
- rm "${WORKDIR}"/${P}-manpages/clang.1 || die
- fi
- doman "${WORKDIR}"/${P}-manpages/*.1
- fi
-
- # Symlink the gold plugin.
- if use gold; then
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
- dosym ../../../../$(get_libdir)/LLVMgold.so \
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
- fi
- fi
-
- # apply CHOST and PV to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ )
- local i
-
- # append ${PV} and symlink back
- # TODO: use alternatives.eclass? does that make any sense?
- # maybe with USE=-clang on :0 and USE=clang on older
- for i in "${clang_tools[@]}"; do
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
- dosym "${i}"-${PV} /usr/bin/${i}
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${PV}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${PV}"
- done
- fi
- fi
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles/syntax
- doins utils/vim/*.vim
-
- if use clang; then
- cd tools/clang || die
-
- if use static-analyzer ; then
- dobin tools/scan-build/ccc-analyzer
- dosym ccc-analyzer /usr/bin/c++-analyzer
- dobin tools/scan-build/scan-build
-
- insinto /usr/share/${PN}
- doins tools/scan-build/scanview.css
- doins tools/scan-build/sorttable.js
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule __init__.py cindex.py enumerations.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
deleted file mode 100644
index 910b6e1..0000000
--- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild
+++ /dev/null
@@ -1,499 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- dev-lang/ocaml:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang )
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- popd >/dev/null || die
- fi
-}
-
-pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.0.ebuild b/sys-devel/llvm/llvm-3.7.0.ebuild
deleted file mode 100644
index 8da56ff..0000000
--- a/sys-devel/llvm/llvm-3.7.0.ebuild
+++ /dev/null
@@ -1,492 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2= )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- dev-lang/ocaml:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang )
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
-
- # Workaround bug #553416 until upstream fixes it
- epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- popd >/dev/null || die
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-11-12 10:48 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2015-11-12 10:48 UTC (permalink / raw
To: gentoo-commits
commit: ce0a93f16b2dbab1a635ef41a6178e0590bf028c
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 12 10:48:21 2015 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Thu Nov 12 10:48:33 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce0a93f1
sys-devel/llvm: fix libxml2 detection for USE=-xml, bug #564804
libxml2 search is now correctly disabled for USE=-xml
lldb requires libxml2
Port some fixes to live ebuild
Package-Manager: portage-2.2.24
sys-devel/llvm/llvm-3.7.0-r2.ebuild | 8 +++++++-
sys-devel/llvm/llvm-9999.ebuild | 11 +++++++++--
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.0-r2.ebuild b/sys-devel/llvm/llvm-3.7.0-r2.ebuild
index 8856b56..bc2726d 100644
--- a/sys-devel/llvm/llvm-3.7.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r2.ebuild
@@ -72,7 +72,7 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang )
+ lldb? ( clang xml )
test? ( || ( $(python_gen_useflags 'python*') ) )"
S=${WORKDIR}/${P/_}.src
@@ -262,6 +262,12 @@ multilib_src_configure() {
-DHAVE_HISTEDIT_H=$(usex libedit)
)
+ if use clang; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ )
+ fi
+
if use lldb; then
mycmakeargs+=(
-DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 1d0a6e6..7150aa8 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -37,7 +37,7 @@ COMMON_DEPEND="
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
ocaml? (
- dev-lang/ocaml:0=
+ >=dev-lang/ocaml-4.00.0:0=
dev-ml/findlib
dev-ml/ocaml-ctypes )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
@@ -53,6 +53,7 @@ DEPEND="${COMMON_DEPEND}
kernel_Darwin? ( sys-libs/libcxx )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
lldb? ( dev-lang/swig )
!!<dev-python/configparser-3.3.0.2
@@ -67,7 +68,7 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang )
+ lldb? ( clang xml )
test? ( || ( $(python_gen_useflags 'python*') ) )"
pkg_pretend() {
@@ -255,6 +256,12 @@ multilib_src_configure() {
-DHAVE_HISTEDIT_H=$(usex libedit)
)
+ if use clang; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ )
+ fi
+
if use lldb; then
mycmakeargs+=(
-DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-12-05 16:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-12-05 16:34 UTC (permalink / raw
To: gentoo-commits
commit: 6b4c6da6ce3123ba26ff0c42d8ae0fdacebfda9b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 5 16:32:24 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 5 16:34:43 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b4c6da6
sys-devel/llvm: Set libomp as default OpenMP provider in -9999, #562990
Use libomp as default OpenMP provider rather than libgomp because the
support for the latter is unable to find omp.h without explicit -I, and
provides syntax checking only.
Bug: https://bugs.gentoo.org/show_bug.cgi?id=562990
sys-devel/llvm/llvm-9999.ebuild | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e65e573..2f8afe7 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -254,6 +254,9 @@ multilib_src_configure() {
if use clang; then
mycmakeargs+=(
-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
)
fi
@@ -481,8 +484,7 @@ multilib_src_install_all() {
}
pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
+ if use clang && ! has_version 'sys-libs/libomp'; then
+ elog "To enable OpenMP support in clang, install sys-libs/libomp."
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-12-09 19:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-12-09 19:07 UTC (permalink / raw
To: gentoo-commits
commit: 029c2896425322f16081d0c66d4e9b1bd6d4f3be
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 9 19:01:45 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 9 19:06:47 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=029c2896
sys-devel/llvm: Force python* for USE=test build
sys-devel/llvm/llvm-3.7.0-r3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.0-r3.ebuild b/sys-devel/llvm/llvm-3.7.0-r3.ebuild
index 4fe4d69..ab428f0 100644
--- a/sys-devel/llvm/llvm-3.7.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r3.ebuild
@@ -219,7 +219,7 @@ src_prepare() {
# User patches
epatch_user
- python_setup
+ python_setup 'python*'
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-12-12 22:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-12-12 22:48 UTC (permalink / raw
To: gentoo-commits
commit: bd92864b47dc6b6d3352eb5c82ce7c0dcc1c8d30
Author: Marco Leogrande <dark.knight.ita <AT> gmail <DOT> com>
AuthorDate: Wed Dec 9 05:42:29 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 12 21:46:24 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd92864b
sys-devel/llvm: add BPF backend to compiled targets
As part of 3.7.* releases, LLVM has officially added support for the
BPF backend. This backend emits instructions in the eBPF language,
that is used in the homonymous Linux kernel virtual machine. Users of
LLVM can write a program in C and have it compiled directly into eBPF.
This commit adds support for compiling this backend unconditionally.
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 2f8afe7..d36085c 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -215,7 +215,7 @@ multilib_src_configure() {
if use multitarget; then
targets=all
else
- targets='host;CppBackend'
+ targets='host;BPF;CppBackend'
use video_cards_radeon && targets+=';AMDGPU'
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-12-12 22:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-12-12 22:48 UTC (permalink / raw
To: gentoo-commits
commit: f0446f1c7a5732440fd618f9ff5edbde2adc9aec
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 22:48:31 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 12 22:48:31 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0446f1c
sys-devel/llvm: Reorder python_setup after epatch_user in -9999
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index d36085c..bf42867 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -201,11 +201,11 @@ src_prepare() {
-i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
fi
- python_setup
-
# User patches
epatch_user
+ python_setup
+
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2015-12-13 14:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2015-12-13 14:39 UTC (permalink / raw
To: gentoo-commits
commit: 570a1aa0e0ca2137f86350351eace21af78b18ad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 22:50:47 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 13 14:38:12 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=570a1aa0
sys-devel/llvm: Clean Python, enable libomp and BPF backend in 3.7
Backport some of the changes from -9999 as 3.7.0-r4. Remove multi-Python
support which was working only partially because of lldb, also fixing
byte-compilation of Python modules, #567550. Default to libomp instead
of semi-broken libgomp support, #562990. Enable BPF backend by default,
GitHub PR #450.
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=567550
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=562990
Fixes: https://github.com/gentoo/gentoo/pull/450
sys-devel/llvm/llvm-3.7.0-r4.ebuild | 530 ++++++++++++++++++++++++++++++++++++
1 file changed, 530 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.7.0-r4.ebuild b/sys-devel/llvm/llvm-3.7.0-r4.ebuild
new file mode 100644
index 0000000..8f74d07
--- /dev/null
+++ b/sys-devel/llvm/llvm-3.7.0-r4.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+PYTHON_COMPAT=( python2_7 )
+
+inherit check-reqs cmake-utils eutils flag-o-matic multilib \
+ multilib-minimal python-single-r1 toolchain-funcs pax-utils
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+ !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
+
+LICENSE="UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
+ python +static-analyzer test xml video_cards_radeon kernel_Darwin"
+
+COMMON_DEPEND="
+ sys-libs/zlib:0=
+ clang? (
+ python? ( ${PYTHON_DEPS} )
+ static-analyzer? (
+ dev-lang/perl:*
+ ${PYTHON_DEPS}
+ )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ ocaml? (
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/findlib
+ dev-ml/ocaml-ctypes
+ !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=sys-devel/make-3.81
+ >=sys-devel/flex-2.5.4
+ >=sys-devel/bison-1.875d
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( sys-libs/libcxx )
+ clang? ( xml? ( virtual/pkgconfig ) )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ lldb? ( dev-lang/swig )
+ !!<dev-python/configparser-3.3.0.2
+ ocaml? ( test? ( dev-ml/ounit ) )
+ ${PYTHON_DEPS}"
+RDEPEND="${COMMON_DEPEND}
+ clang? ( !<=sys-devel/clang-${PV}-r99 )
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+
+# pypy gives me around 1700 unresolved tests due to open file limit
+# being exceeded. probably GC does not close them fast enough.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ lldb? ( clang xml )"
+
+S=${WORKDIR}/${P/_}.src
+
+pkg_pretend() {
+ # in megs
+ # !clang !debug !multitarget -O2 400
+ # !clang !debug multitarget -O2 550
+ # clang !debug !multitarget -O2 950
+ # clang !debug multitarget -O2 1200
+ # !clang debug multitarget -O2 5G
+ # clang !debug multitarget -O0 -g 12G
+ # clang debug multitarget -O2 16G
+ # clang debug multitarget -O0 -g 14G
+
+ local build_size=550
+ use clang && build_size=1200
+
+ if use debug; then
+ ewarn "USE=debug is known to increase the size of package considerably"
+ ewarn "and cause the tests to fail."
+ ewarn
+
+ (( build_size *= 14 ))
+ elif is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn "The C++ compiler -g option is known to increase the size of the package"
+ ewarn "considerably. If you run out of space, please consider removing it."
+ ewarn
+
+ (( build_size *= 10 ))
+ fi
+
+ # Multiply by number of ABIs :).
+ local abis=( $(multilib_get_enabled_abis) )
+ (( build_size *= ${#abis[@]} ))
+
+ local CHECKREQS_DISK_BUILD=${build_size}M
+ check-reqs_pkg_pretend
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ echo 'int main() {return 0;}' > "${T}"/test.cxx || die
+ ebegin "Trying to build a C++11 test program"
+ if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
+ eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
+ eerror "to gcc-4.7 or an equivalent version supporting C++11."
+ die "Currently active compiler does not support -std=c++11"
+ fi
+ eend ${?}
+ fi
+}
+
+pkg_setup() {
+ pkg_pretend
+}
+
+src_unpack() {
+ default
+
+ if use clang; then
+ mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
+ || die "clang source directory move failed"
+ mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
+ || die "compiler-rt source directory move failed"
+ mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
+ || die "clang-tools-extra source directory move failed"
+ fi
+
+ if use lldb; then
+ mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
+ || die "lldb source directory move failed"
+ fi
+}
+
+src_prepare() {
+ # Make ocaml warnings non-fatal, bug #537308
+ sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
+ # Fix libdir for ocaml bindings install, bug #559134
+ epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
+ # Do not build/install ocaml docs with USE=-doc, bug #562008
+ epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch
+
+ # Make it possible to override Sphinx HTML install dirs
+ # https://llvm.org/bugs/show_bug.cgi?id=23780
+ epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
+
+ # Prevent race conditions with parallel Sphinx runs
+ # https://llvm.org/bugs/show_bug.cgi?id=23781
+ epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
+
+ # Prevent installing libgtest
+ # https://llvm.org/bugs/show_bug.cgi?id=18341
+ epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
+
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
+
+ if use clang; then
+ # Automatically select active system GCC's libraries, bugs #406163 and #417913
+ epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
+
+ epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
+
+ sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
+ tools/clang/tools/scan-build/scan-build || die
+
+ # Install clang runtime into /usr/lib/clang
+ # https://llvm.org/bugs/show_bug.cgi?id=23792
+ epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
+ epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
+
+ # Do not force -march flags on arm platforms
+ # https://bugs.gentoo.org/show_bug.cgi?id=562706
+ epatch "${FILESDIR}"/cmake/${P}-compiler_rt_arm_march_flags.patch
+
+ # Make it possible to override CLANG_LIBDIR_SUFFIX
+ # (that is used only to find LLVMgold.so)
+ # https://llvm.org/bugs/show_bug.cgi?id=23793
+ epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+
+ # Fix WX sections, bug #421527
+ find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} \; || die
+ fi
+
+ if use lldb; then
+ # Do not install dummy readline.so module from
+ # https://llvm.org/bugs/show_bug.cgi?id=18841
+ sed -e 's/add_subdirectory(readline)/#&/' \
+ -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
+
+ # Fix Python paths, bugs #562436 and #562438
+ epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
+ sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
+ -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
+
+ # Fix build with ncurses[tinfo], #560474
+ # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
+ epatch "${FILESDIR}"/cmake/${P}-lldb_tinfo.patch
+ fi
+
+ # User patches
+ epatch_user
+
+ python_setup
+
+ # Native libdir is used to hold LLVMgold.so
+ NATIVE_LIBDIR=$(get_libdir)
+}
+
+multilib_src_configure() {
+ local targets
+ if use multitarget; then
+ targets=all
+ else
+ targets='host;BPF;CppBackend'
+ use video_cards_radeon && targets+=';AMDGPU'
+ fi
+
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$(pkg-config --cflags-only-I libffi)
+ ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_ENABLE_TIMESTAMPS=OFF
+ -DLLVM_TARGETS_TO_BUILD="${targets}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ -DHAVE_HISTEDIT_H=$(usex libedit)
+ )
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+ )
+ fi
+
+ if use lldb; then
+ mycmakeargs+=(
+ -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
+ -DLLDB_DISABLE_CURSES=$(usex !ncurses)
+ -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
+ )
+ fi
+
+ if ! multilib_is_native_abi || ! use ocaml; then
+ mycmakeargs+=(
+ -DOCAMLFIND=NO
+ )
+ fi
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
+ )
+ fi
+
+ if use gold; then
+ mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if use lldb; then
+ mycmakeargs+=(
+ -DLLDB_DISABLE_PYTHON=$(usex !python)
+ )
+ fi
+
+ else
+ if use clang; then
+ mycmakeargs+=(
+ # disable compiler-rt on non-native ABI because:
+ # 1. it fails to configure because of -m32
+ # 2. it is shared between ABIs so no point building
+ # it multiple times
+ -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
+ )
+ fi
+ if use lldb; then
+ mycmakeargs+=(
+ # only run swig on native abi
+ -DLLDB_DISABLE_PYTHON=ON
+ )
+ fi
+ fi
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+ -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
+ )
+
+ # -- not needed when compiler-rt is built with host compiler --
+ # cmake passes host C*FLAGS to compiler-rt build
+ # which is performed using clang, so we need to filter out
+ # some flags clang does not support
+ # (if you know some more flags that don't work, let us know)
+ #filter-flags -msahf -frecord-gcc-switches
+ fi
+
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ # TODO: not sure why this target is not correctly called
+ multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local test_targets=( check )
+ # clang tests won't work on non-native ABI because we skip compiler-rt
+ multilib_is_native_abi && use clang && test_targets+=( check-clang )
+ cmake-utils_src_make "${test_targets[@]}"
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/config.h
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ if use clang; then
+ # note: magic applied in multilib_src_install()!
+ CLANG_VERSION=${PV%.*}
+
+ MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/clang
+ /usr/bin/clang++
+ /usr/bin/clang-cl
+ /usr/bin/clang-${CLANG_VERSION}
+ /usr/bin/clang++-${CLANG_VERSION}
+ /usr/bin/clang-cl-${CLANG_VERSION}
+ )
+
+ MULTILIB_WRAPPED_HEADERS+=(
+ /usr/include/clang/Config/config.h
+ )
+ fi
+
+ multilib-minimal_src_install
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi; then
+ # Install man pages.
+ use doc || doman "${WORKDIR}"/${P}-manpages/*.1
+
+ # Symlink the gold plugin.
+ if use gold; then
+ dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
+ dosym "../../../../$(get_libdir)/LLVMgold.so" \
+ "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
+ fi
+ fi
+
+ # apply CHOST and CLANG_VERSION to clang executables
+ # they're statically linked so we don't have to worry about the lib
+ if use clang; then
+ local clang_tools=( clang clang++ clang-cl )
+ local i
+
+ # cmake gives us:
+ # - clang-X.Y
+ # - clang -> clang-X.Y
+ # - clang++, clang-cl -> clang
+ # we want to have:
+ # - clang-X.Y
+ # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
+ # - clang, clang++, clang-cl -> clang*-X.Y
+ # so we need to fix the two tools
+ for i in "${clang_tools[@]:1}"; do
+ rm "${ED%/}/usr/bin/${i}" || die
+ dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
+ dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
+ done
+
+ # now prepend ${CHOST} and let the multilib-build.eclass symlink it
+ if ! multilib_is_native_abi; then
+ # non-native? let's replace it with a simple wrapper
+ for i in "${clang_tools[@]}"; do
+ rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
+ cat > "${T}"/wrapper.tmp <<-_EOF_
+ #!${EPREFIX}/bin/sh
+ exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
+ _EOF_
+ newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
+ done
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ insinto /usr/share/vim/vimfiles
+ doins -r utils/vim/*/.
+ # some users may find it useful
+ dodoc utils/vim/vimrc
+
+ if use clang; then
+ pushd tools/clang >/dev/null || die
+
+ if use static-analyzer ; then
+ pushd tools/scan-build >/dev/null || die
+
+ dobin ccc-analyzer scan-build
+ dosym ccc-analyzer /usr/bin/c++-analyzer
+ doman scan-build.1
+
+ insinto /usr/share/llvm
+ doins scanview.css sorttable.js
+
+ popd >/dev/null || die
+ fi
+
+ if use static-analyzer ; then
+ pushd tools/scan-view >/dev/null || die
+
+ python_doscript scan-view
+
+ touch __init__.py || die
+ python_moduleinto clang
+ python_domodule *.py Resources
+
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ pushd bindings/python/clang >/dev/null || die
+
+ python_moduleinto clang
+ python_domodule *.py
+
+ popd >/dev/null || die
+ fi
+
+ # AddressSanitizer symbolizer (currently separate)
+ dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
+
+ popd >/dev/null || die
+
+ python_fix_shebang "${ED}"
+ if use lldb && use python; then
+ python_optimize
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if use clang; then
+ elog "To enable OpenMP support in clang, install sys-libs/libomp"
+ elog "and use the '-fopenmp=libomp' command line option"
+ fi
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-01-09 18:54 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-01-09 18:54 UTC (permalink / raw
To: gentoo-commits
commit: c5a7da31d5e2b764a099a60b4c2c4605a00c689c
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 9 18:53:19 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Jan 9 18:54:07 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5a7da31
sys-devel/llvm: disable the use of xcrun on OSX, bug #568758
Package-Manager: portage-2.2.20-prefix
sys-devel/llvm/llvm-3.5.2.ebuild | 3 +++
sys-devel/llvm/llvm-3.6.2.ebuild | 3 +++
sys-devel/llvm/llvm-3.7.1.ebuild | 3 +++
sys-devel/llvm/llvm-9999.ebuild | 3 +++
4 files changed, 12 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index 8a8c32c..f6bb2c3 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -165,6 +165,9 @@ src_prepare() {
projects/compiler-rt/make/platform/clang_*.mk || die
fi
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
local sub_files=(
Makefile.config.in
Makefile.rules
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 2e7bc9a..21f4f9d 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -172,6 +172,9 @@ src_prepare() {
projects/compiler-rt/make/platform/clang_*.mk || die
fi
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
local sub_files=(
Makefile.config.in
Makefile.rules
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index d41de06..fa15adf 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -173,6 +173,9 @@ src_prepare() {
# Fix msan with newer kernels, #569894
epatch "${FILESDIR}"/llvm-3.7-msan-fix.patch
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
if use clang; then
# Automatically select active system GCC's libraries, bugs #406163 and #417913
epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index bf42867..5820649 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -174,6 +174,9 @@ src_prepare() {
# https://bugs.gentoo.org/show_bug.cgi?id=565358
epatch "${FILESDIR}"/llvm-3.8-llvm-config.patch
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
if use clang; then
# Automatically select active system GCC's libraries, bugs #406163 and #417913
epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-01-17 8:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-01-17 8:00 UTC (permalink / raw
To: gentoo-commits
commit: 5993e7c35f0e828eebfc8d3932379a3c3399bba8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 17 07:58:31 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 08:00:11 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5993e7c3
sys-devel/llvm: Remove C++11 checks in -9999
Remove C++11 checks since the relevant gcc versions are stable for long
enough already.
sys-devel/llvm/llvm-9999.ebuild | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 5820649..16c4d32 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -101,18 +101,6 @@ pkg_pretend() {
local CHECKREQS_DISK_BUILD=${build_size}M
check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
}
pkg_setup() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-01-27 13:05 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-01-27 13:05 UTC (permalink / raw
To: gentoo-commits
commit: bbb958a0997c59b923c3eb64e20870d976258bf1
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 27 12:56:43 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 27 12:57:19 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbb958a0
sys-devel/llvm: add darwin patch to 3.7.1
Package-Manager: portage-2.2.20-prefix
sys-devel/llvm/llvm-3.7.1.ebuild | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index fa15adf..e4697d0 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -8,7 +8,7 @@ EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils
+ multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
@@ -182,6 +182,9 @@ src_prepare() {
epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
+ epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
+ eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
+
sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
tools/clang/tools/scan-build/scan-build || die
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-01-28 14:53 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2016-01-28 14:53 UTC (permalink / raw
To: gentoo-commits
commit: 082e005716964690a27f007ba87ac3f663791d67
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 14:52:32 2016 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 14:53:17 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=082e0057
sys-devel/llvm: work on 3.8.0_rc1 install, bug #573202
Also add man-pages tarball
clang tests still fail
Package-Manager: portage-2.2.27
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-3.8.0_rc1.ebuild | 37 ++++++------------------------------
2 files changed, 7 insertions(+), 31 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 177b034..28dd9b2 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,4 +36,5 @@ DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f055
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f
DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70
+DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676
DIST llvm-3.8.0rc1.src.tar.xz 16559376 SHA256 41809e45cb3a97908c5741b4c15c90d801793e09d75858a6cfaa9582f233249b SHA512 0fbb2a5c16aad989a00b0068ab094882eb6f945237f1b82e102835321dc74cdbdaaa2d16dbc73df93ad466b3221ad440c18bd79e70e1f3de92e0a11de717d20e WHIRLPOOL ae25d7b12c359aaab53dafeb0dd737b564d6fceac95443049118ec8cb7a308836572243c77cfb0a6018fa2600b2844f252d95870fed79e11e3cc5ae5b5dbfe0d
diff --git a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
index c39a17f..613a5fa 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
@@ -16,8 +16,8 @@ SRC_URI="http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/${P/_}.src.tar.xz
clang? ( http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/compiler-rt-${PV/_}.src.tar.xz
http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/cfe-${PV/_}.src.tar.xz
http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/clang-tools-extra-${PV/_}.src.tar.xz )
- lldb? ( http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/lldb-${PV/_}.src.tar.xz )"
-# !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P/_rc*}-manpages.tar.bz2 )"
+ lldb? ( http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/lldb-${PV/_}.src.tar.xz )
+ !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P/_rc*}-manpages.tar.bz2 )"
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
@@ -423,7 +423,7 @@ multilib_src_install() {
if multilib_is_native_abi; then
# Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1
+ use doc || doman "${WORKDIR}"/${P/_rc*}-manpages/*.1
# Symlink the gold plugin.
if use gold; then
@@ -478,31 +478,6 @@ multilib_src_install_all() {
if use clang; then
pushd tools/clang >/dev/null || die
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
if use python ; then
pushd bindings/python/clang >/dev/null || die
@@ -518,14 +493,14 @@ multilib_src_install_all() {
popd >/dev/null || die
python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
+ if use static-analyzer; then
+ python_optimize "${ED}"usr/share/scan-view
fi
fi
}
pkg_postinst() {
- if use clang && ! has_version sys-libs/libomp; then
+ if use clang && ! has_version 'sys-libs/libomp'; then
elog "To enable OpenMP support in clang, install sys-libs/libomp."
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-04 13:51 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-02-04 13:51 UTC (permalink / raw
To: gentoo-commits
commit: ac229ee43b4c0e763d1968a5496490056a5502f7
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 4 13:51:12 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Feb 4 13:51:42 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac229ee4
sys-devel/llvm: add CHOST-clang wrappers to 3.4.2 too for Prefix bootstrap
Package-Manager: portage-2.2.20-prefix
sys-devel/llvm/llvm-3.4.2.ebuild | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.4.2.ebuild b/sys-devel/llvm/llvm-3.4.2.ebuild
index 5268c28..c2ef13a 100644
--- a/sys-devel/llvm/llvm-3.4.2.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2.ebuild
@@ -445,6 +445,34 @@ multilib_src_install() {
fi
fi
+ # apply CHOST and PV to clang executables
+ # they're statically linked so we don't have to worry about the lib
+ if use clang; then
+ local clang_tools=( clang clang++ )
+ local i
+
+ # append ${PV} and symlink back
+ # TODO: use alternatives.eclass? does that make any sense?
+ # maybe with USE=-clang on :0 and USE=clang on older
+ for i in "${clang_tools[@]}"; do
+ mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
+ dosym "${i}"-${PV} /usr/bin/${i}
+ done
+
+ # now prepend ${CHOST} and let the multilib-build.eclass symlink it
+ if ! multilib_is_native_abi; then
+ # non-native? let's replace it with a simple wrapper
+ for i in "${clang_tools[@]}"; do
+ rm "${ED%/}/usr/bin/${i}-${PV}" || die
+ cat > "${T}"/wrapper.tmp <<-_EOF_
+ #!${EPREFIX}/bin/sh
+ exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
+ _EOF_
+ newbin "${T}"/wrapper.tmp "${i}-${PV}"
+ done
+ fi
+ fi
+
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
local lib= f= odylib= ndylib= libpv=${PV}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-08 21:22 Patrice Clement
0 siblings, 0 replies; 860+ messages in thread
From: Patrice Clement @ 2016-02-08 21:22 UTC (permalink / raw
To: gentoo-commits
commit: 7e9333237199d0e062d94e4ca026cb41b9dcb28f
Author: Yuta Satoh <nigoro.dev <AT> gmail <DOT> com>
AuthorDate: Mon Feb 8 11:48:04 2016 +0000
Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Mon Feb 8 11:48:04 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e933323
sys-devel/llvm: Re add the code for Gentoo/FreeBSD.
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=417171
...{llvm-3.8.0_rc1.ebuild => llvm-3.7.1-r1.ebuild} | 83 ++++++++++++++++------
sys-devel/llvm/llvm-3.8.0_rc1.ebuild | 6 +-
sys-devel/llvm/llvm-9999.ebuild | 6 +-
3 files changed, 73 insertions(+), 22 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild b/sys-devel/llvm/llvm-3.7.1-r1.ebuild
similarity index 86%
copy from sys-devel/llvm/llvm-3.8.0_rc1.ebuild
copy to sys-devel/llvm/llvm-3.7.1-r1.ebuild
index 613a5fa..97e8e20 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -12,18 +12,19 @@ inherit check-reqs cmake-utils eutils flag-o-matic multilib \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/${P/_}.src.tar.xz
- clang? ( http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/compiler-rt-${PV/_}.src.tar.xz
- http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/cfe-${PV/_}.src.tar.xz
- http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/clang-tools-extra-${PV/_}.src.tar.xz )
- lldb? ( http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.8.0_}/lldb-${PV/_}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P/_rc*}-manpages.tar.bz2 )"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+ !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )"
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
+ python +static-analyzer test xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -166,12 +167,12 @@ src_prepare() {
# https://llvm.org/bugs/show_bug.cgi?id=18341
epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
- # Allow custom cmake build types (like 'Gentoo')
- epatch "${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
-
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.8-llvm-config.patch
+ epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
+
+ # Fix msan with newer kernels, #569894
+ epatch "${FILESDIR}"/llvm-3.7-msan-fix.patch
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
@@ -180,20 +181,22 @@ src_prepare() {
# Automatically select active system GCC's libraries, bugs #406163 and #417913
epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
+ epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
+
epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
+ tools/clang/tools/scan-build/scan-build || die
# Install clang runtime into /usr/lib/clang
# https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
+ epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
# Do not force -march flags on arm platforms
# https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${PN}-3.8.0-compiler_rt_arm_march_flags.patch
+ epatch "${FILESDIR}"/cmake/${PN}-3.7.0-compiler_rt_arm_march_flags.patch
# Make it possible to override CLANG_LIBDIR_SUFFIX
# (that is used only to find LLVMgold.so)
@@ -202,6 +205,9 @@ src_prepare() {
pushd projects/compiler-rt >/dev/null || die
+ # Fix msan with newer kernels, compiler-rt part, #569894
+ epatch "${FILESDIR}"/compiler-rt-3.7-msan-fix.patch
+
# Fix WX sections, bug #421527
find lib/builtins -type f -name '*.S' -exec sed \
-e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
@@ -215,6 +221,15 @@ src_prepare() {
# https://llvm.org/bugs/show_bug.cgi?id=18841
sed -e 's/add_subdirectory(readline)/#&/' \
-i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
+
+ # Fix Python paths, bugs #562436 and #562438
+ epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
+ sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
+ -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
+
+ # Fix build with ncurses[tinfo], #560474
+ # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
+ epatch "${FILESDIR}"/cmake/${PN}-3.7.0-lldb_tinfo.patch
fi
# User patches
@@ -246,7 +261,7 @@ multilib_src_configure() {
"${mycmakeargs[@]}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
- -DLLVM_LINK_LLVM_DYLIB=ON
+ -DBUILD_SHARED_LIBS=ON
-DLLVM_ENABLE_TIMESTAMPS=OFF
-DLLVM_TARGETS_TO_BUILD="${targets}"
-DLLVM_BUILD_TESTS=$(usex test)
@@ -416,6 +431,9 @@ src_install() {
fi
multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
}
multilib_src_install() {
@@ -423,7 +441,7 @@ multilib_src_install() {
if multilib_is_native_abi; then
# Install man pages.
- use doc || doman "${WORKDIR}"/${P/_rc*}-manpages/*.1
+ use doc || doman "${WORKDIR}"/${PN}-3.7.0-manpages/*.1
# Symlink the gold plugin.
if use gold; then
@@ -478,6 +496,31 @@ multilib_src_install_all() {
if use clang; then
pushd tools/clang >/dev/null || die
+ if use static-analyzer ; then
+ pushd tools/scan-build >/dev/null || die
+
+ dobin ccc-analyzer scan-build
+ dosym ccc-analyzer /usr/bin/c++-analyzer
+ doman scan-build.1
+
+ insinto /usr/share/llvm
+ doins scanview.css sorttable.js
+
+ popd >/dev/null || die
+ fi
+
+ if use static-analyzer ; then
+ pushd tools/scan-view >/dev/null || die
+
+ python_doscript scan-view
+
+ touch __init__.py || die
+ python_moduleinto clang
+ python_domodule *.py Resources
+
+ popd >/dev/null || die
+ fi
+
if use python ; then
pushd bindings/python/clang >/dev/null || die
@@ -493,14 +536,14 @@ multilib_src_install_all() {
popd >/dev/null || die
python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
+ if use lldb && use python; then
+ python_optimize
fi
fi
}
pkg_postinst() {
- if use clang && ! has_version 'sys-libs/libomp'; then
+ if use clang && ! has_version sys-libs/libomp; then
elog "To enable OpenMP support in clang, install sys-libs/libomp."
fi
}
diff --git a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
index 613a5fa..8c598b7 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
@@ -23,7 +23,8 @@ LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
+ python +static-analyzer test xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -416,6 +417,9 @@ src_install() {
fi
multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
}
multilib_src_install() {
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index c0f1cfc..369c227 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -20,7 +20,8 @@ LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS=""
IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
+ python +static-analyzer test xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -393,6 +394,9 @@ src_install() {
fi
multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
}
multilib_src_install() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-10 16:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-02-10 16:27 UTC (permalink / raw
To: gentoo-commits
commit: 735863828c34908baf4c6a2425db0c4f0538ff55
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 10 16:24:17 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 10 16:27:23 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73586382
sys-devel/llvm: Remove unnecessary revbump due to FreeBSD-related change
The FreeBSD header change does not justify forcing rebuild of such
a huge package as LLVM on Linux. Furthermore, the new code relies on
a new USE flag, so FreeBSD users will get it via --changed-use.
sys-devel/llvm/llvm-3.7.1-r1.ebuild | 549 ------------------------------------
sys-devel/llvm/llvm-3.7.1.ebuild | 8 +-
2 files changed, 6 insertions(+), 551 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r1.ebuild b/sys-devel/llvm/llvm-3.7.1-r1.ebuild
deleted file mode 100644
index 97e8e20..0000000
--- a/sys-devel/llvm/llvm-3.7.1-r1.ebuild
+++ /dev/null
@@ -1,549 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
-
- # Fix msan with newer kernels, #569894
- epatch "${FILESDIR}"/llvm-3.7-msan-fix.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix msan with newer kernels, compiler-rt part, #569894
- epatch "${FILESDIR}"/compiler-rt-3.7-msan-fix.patch
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.7.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang && ! has_version sys-libs/libomp; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index e4697d0..2dbd2e5 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -23,7 +23,8 @@ LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
+ python +static-analyzer test xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -430,6 +431,9 @@ src_install() {
fi
multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
}
multilib_src_install() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-10 16:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-02-10 16:27 UTC (permalink / raw
To: gentoo-commits
commit: a98e3ef874336f0d5ac6aa325b083157b46a49fa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 10 16:26:57 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 10 16:27:23 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a98e3ef8
sys-devel/llvm: Fix missing ||die on FreeBSD-added code
sys-devel/llvm/llvm-3.7.1.ebuild | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index 2dbd2e5..6aa2ef2 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -433,7 +433,9 @@ src_install() {
multilib-minimal_src_install
# Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
+ if use kernel_FreeBSD && use clang; then
+ rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
}
multilib_src_install() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-11 8:39 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-02-11 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 5a98aba7d89213f01ca32b400d0214cfb432d326
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 11 08:39:04 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Feb 11 08:39:04 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a98aba7
sys-devel/llvm: fix dependency on libcxx for Darwin, bug #573176
llvm dies with an ICE while compiling packages (like itself) when the version of libcxx doesn't match. So pull in a version from the same major range.
Package-Manager: portage-2.2.20-prefix
sys-devel/llvm/llvm-3.5.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.6.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.7.1.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index f6bb2c3..d051a7a 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -50,7 +50,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
+ kernel_Darwin? ( =sys-libs/libcxx-3.5* )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 21f4f9d..2e59d43 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -53,7 +53,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
+ kernel_Darwin? ( =sys-libs/libcxx-3.6* )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index 6aa2ef2..6afc7e9 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -55,7 +55,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
+ kernel_Darwin? ( =sys-libs/libcxx-3.7* )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-11 13:01 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-02-11 13:01 UTC (permalink / raw
To: gentoo-commits
commit: f08bdee4f9ada2fc9b94d113ca69a0a76013b185
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 11 12:56:16 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Feb 11 13:00:51 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f08bdee4
sys-devel/llvm: revise libcxx dependency for maintenance and to be more realistic
Package-Manager: portage-2.2.20-prefix
sys-devel/llvm/llvm-3.5.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.6.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.7.1.ebuild | 2 +-
sys-devel/llvm/llvm-3.8.0_rc1.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index d051a7a..6d3a5ce 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -50,7 +50,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( =sys-libs/libcxx-3.5* )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 2e59d43..3512fbb 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -53,7 +53,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( =sys-libs/libcxx-3.6* )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index 6afc7e9..347d8cc 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -55,7 +55,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( =sys-libs/libcxx-3.7* )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
diff --git a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
index 8c598b7..9a74e9a 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0_rc1.ebuild
@@ -55,7 +55,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 369c227..f998ade 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -48,7 +48,7 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-17 22:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-02-17 22:06 UTC (permalink / raw
To: gentoo-commits
commit: f988bded979ed49ed3b5141e6c9a10f07f86c600
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 17 21:59:09 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 22:05:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f988bded
sys-devel/llvm: Bump the live ebuild to EAPI 6
sys-devel/llvm/llvm-9999.ebuild | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 97ed7fd..14c5da5 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
PYTHON_COMPAT=( python2_7 )
@@ -142,45 +142,45 @@ src_prepare() {
# Make ocaml warnings non-fatal, bug #537308
sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
# Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
+ eapply "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
# Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-build_doc.patch
+ eapply "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-build_doc.patch
# Make it possible to override Sphinx HTML install dirs
# https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
+ eapply "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
# Prevent race conditions with parallel Sphinx runs
# https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
+ eapply "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
# Prevent installing libgtest
# https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
+ eapply "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
# Allow custom cmake build types (like 'Gentoo')
- epatch "${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
+ eapply "${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.9-llvm-config.patch
+ eapply "${FILESDIR}"/llvm-3.9-llvm-config.patch
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
if use clang; then
# Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
+ eapply "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
# Install clang runtime into /usr/lib/clang
# https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
+ eapply "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
+ eapply "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
# Make it possible to override CLANG_LIBDIR_SUFFIX
# (that is used only to find LLVMgold.so)
# https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+ eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
# Fix WX sections, bug #421527
find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
@@ -196,7 +196,7 @@ src_prepare() {
fi
# User patches
- epatch_user
+ eapply_user
python_setup
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-17 22:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-02-17 22:06 UTC (permalink / raw
To: gentoo-commits
commit: ed99fa624d7f39a7055358dd2663b8b3f6b6c48b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 17 21:51:00 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 22:05:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed99fa62
sys-devel/llvm: Extend the FreeBSD fix fix to remaining ebuilds
sys-devel/llvm/llvm-3.8.0_rc2.ebuild | 4 +++-
sys-devel/llvm/llvm-9999.ebuild | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.0_rc2.ebuild b/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
index b3b7e4e..5fcf094 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
@@ -418,7 +418,9 @@ src_install() {
multilib-minimal_src_install
# Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
+ if use kernel_FreeBSD && use clang; then
+ rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
}
multilib_src_install() {
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 4cef57b..97ed7fd 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -395,7 +395,9 @@ src_install() {
multilib-minimal_src_install
# Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
+ if use kernel_FreeBSD && use clang; then
+ rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
}
multilib_src_install() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-02-17 22:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-02-17 22:06 UTC (permalink / raw
To: gentoo-commits
commit: dfc5c7449a3f77702f76c95e9e76a440de2f6cc8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 17 21:45:36 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 22:05:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfc5c744
sys-devel/llvm: Clean up stale ref to outer mycmakeargs
Clean up the stale and confusing reference to outer mycmakeargs that
used to be declared in src_configure() and passed down to
multilib_src_configure(). This is no longer the case.
sys-devel/llvm/llvm-3.7.1.ebuild | 1 -
sys-devel/llvm/llvm-3.8.0_rc2.ebuild | 1 -
sys-devel/llvm/llvm-9999.ebuild | 1 -
3 files changed, 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
index 347d8cc..9a53dea 100644
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1.ebuild
@@ -258,7 +258,6 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
- "${mycmakeargs[@]}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
diff --git a/sys-devel/llvm/llvm-3.8.0_rc2.ebuild b/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
index 9a74e9a..b3b7e4e 100644
--- a/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0_rc2.ebuild
@@ -244,7 +244,6 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
- "${mycmakeargs[@]}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLLVM_LINK_LLVM_DYLIB=ON
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index f998ade..4cef57b 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -221,7 +221,6 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
- "${mycmakeargs[@]}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLLVM_LINK_LLVM_DYLIB=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-03-28 14:35 William Hubbs
0 siblings, 0 replies; 860+ messages in thread
From: William Hubbs @ 2016-03-28 14:35 UTC (permalink / raw
To: gentoo-commits
commit: 65cd653b4a5257ed97f58797305698d7c21df8ec
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 28 14:34:18 2016 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Mar 28 14:34:18 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65cd653b
sys-devel/llvm: add myself as co-maintainer
sys-devel/llvm/metadata.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index c49dc52..0ea3319 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -9,6 +9,10 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
<longdescription>Low Level Virtual Machine (LLVM) is:
1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-03-29 17:28 Bernard Cafarelli
0 siblings, 0 replies; 860+ messages in thread
From: Bernard Cafarelli @ 2016-03-29 17:28 UTC (permalink / raw
To: gentoo-commits
commit: eb032a22a45c63343c90ef14fb4c2d79762845ec
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 29 17:20:33 2016 +0000
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Mar 29 17:20:33 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb032a22
sys-devel/llvm: remove myself from maintainers
Package-Manager: portage-2.2.28
sys-devel/llvm/metadata.xml | 4 ----
1 file changed, 4 deletions(-)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 0ea3319..6d78a05 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>voyageur@gentoo.org</email>
- <name>Bernard Cafarelli</name>
- </maintainer>
- <maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-05-11 16:17 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-05-11 16:17 UTC (permalink / raw
To: gentoo-commits
commit: 5bd7eb4ddad3ee94f14937251ea3a5ebf6c65c07
Author: Nick Sarnie <commendsarnex <AT> gmail <DOT> com>
AuthorDate: Sat May 7 01:26:06 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 7 01:29:10 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bd7eb4d
sys-devel/llvm: remove CppBackend from 9999
Removed from LLVM SVN in r268631
Signed-off-by: Nick Sarnie <commendsarnex <AT> gmail.com>
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 80eef1b..0b8dddc 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -213,7 +213,7 @@ multilib_src_configure() {
if use multitarget; then
targets=all
else
- targets='host;BPF;CppBackend'
+ targets='host;BPF'
use video_cards_radeon && targets+=';AMDGPU'
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-05-12 11:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-05-12 11:49 UTC (permalink / raw
To: gentoo-commits
commit: 29a4f5d923215c38ff91a033f0e5a6832ce47c9d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 11 20:54:22 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May 12 11:48:41 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29a4f5d9
sys-devel/llvm: Clean up old 3.7 versions
sys-devel/llvm/Manifest | 5 -
sys-devel/llvm/llvm-3.7.0-r2.ebuild | 521 ----------------------------------
sys-devel/llvm/llvm-3.7.0-r3.ebuild | 525 ----------------------------------
sys-devel/llvm/llvm-3.7.0-r4.ebuild | 530 ----------------------------------
sys-devel/llvm/llvm-3.7.0-r5.ebuild | 540 -----------------------------------
sys-devel/llvm/llvm-3.7.1.ebuild | 550 ------------------------------------
6 files changed, 2671 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 23eb037..d1c47a0 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,14 +3,12 @@ DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2d
DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
-DIST cfe-3.7.0.src.tar.xz 9147204 SHA256 4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc SHA512 099d34cb019ea548c6ee85efd22b150beba0aa92061394fa3e423b1ebfe4a5c98c0586e5d56fc5c39e2b1606d36db59f442c056cc59473e32df76c8790c9d0ae WHIRLPOOL 1078d962edfb1b90044f19921f64a28c32259e34d983ddf9f9c198d13c8cd0679778a640d7a06c0bf1224d982602294c79a510034276216e3a6de21c739e6c39
DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3
DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
-DIST clang-tools-extra-3.7.0.src.tar.xz 276628 SHA256 8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd SHA512 c266eb327e2f50767b7d37c9d5713d6c70f590b59e4fe09d997f2eba0d54c9229ef6c8a2a903196380f67dffa7e35ebb47a9e5f2f097fd2a3c363481b72202eb WHIRLPOOL 681a5c14301990bb945e26375d0d31fa22b795101f342bcaaeb9d3e015c0f0f6b260b913388d086cb3054fc357845b34a6813e34614cdfa0de2c58fc6db7c64c
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
@@ -18,10 +16,8 @@ DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac7986
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
-DIST compiler-rt-3.7.0.src.tar.xz 1192832 SHA256 227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b SHA512 2ba6abb3d6ec7f1469cfe1d48fde2069e9a767d19144f80f05516ac63f353ace90a9df3e9d1c1f708f3c397aba0ec61b12e4f105b25a2e1cd26b25b0dd252bc9 WHIRLPOOL 8bb535b667a7fdc1710d32e0912daee3798049f78cf70a03abc409157f02602b77f290b66185a35c464e512e55d57aab0125be6ae4843f6233f4017228afb579
DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325 WHIRLPOOL 0bea047e48622884a6fc6bb3826046e9de5b3192006cc41c0ccd9d6c611674869c3c15988b531a0f7d9fea2cf951b90ecef385b85db765c6f99a48692fdcf223
DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5
-DIST lldb-3.7.0.src.tar.xz 10649660 SHA256 f4d7505bc111044eaa4033af012221e492938405b62522b8e3e354c20c4b71e9 SHA512 52157782ef13e2c8b7b35ff3ccc05887195fe46ddb6bafcf0707a3c46c1e034734b55342b8dbfc46cae7a8c3cb1012345284e4bedb2344c5016b8d19a12e90df WHIRLPOOL 8c0803a51820ec67944e27061c858e95a92aefa38a1540241fead2b63c5b065c1268cf958b14d8841f62fc8aea5da1e20204704426598bfc2c4e61bcda135c43
DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049
DIST llvm-3.3-manpages.tar.bz2 27098 SHA256 46bb22d63d5fe7dd04e1a7bb7e16c03d93f2ed51d31540cfb9d97ed70059aa77 SHA512 6f24b66b13025d0606908f91ad9b4fc6de1b4aac2d97d261f6b989065476cf153d2f84792f8dd4972b95fb1a45a3931c328df3bcf8ce5ab21170a7a912a39783 WHIRLPOOL 31b9c3635b698f404b75b87c7891b4b6be9cbeb6062bcb6fba5476b0b3069a486ba60c27ab2b12b8a2da9404f666617162041860f023951050a9fc4c7d27748a
@@ -34,7 +30,6 @@ DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df
DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b
DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
-DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f
DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70
DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676
DIST llvm-3.8.0.src.tar.xz 16580932 SHA256 555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46 SHA512 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138 WHIRLPOOL f7219f3324080f22158b08eb23b5b545d303090d0bb8cde6ee971da829dd52837832a127792b153006568e0c7c0163c1095d1e258600f4359df347148e965b94
diff --git a/sys-devel/llvm/llvm-3.7.0-r2.ebuild b/sys-devel/llvm/llvm-3.7.0-r2.ebuild
deleted file mode 100644
index bc2726d..0000000
--- a/sys-devel/llvm/llvm-3.7.0-r2.ebuild
+++ /dev/null
@@ -1,521 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${P}-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${P}-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- popd >/dev/null || die
- fi
-}
-
-pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.0-r3.ebuild b/sys-devel/llvm/llvm-3.7.0-r3.ebuild
deleted file mode 100644
index ab428f0..0000000
--- a/sys-devel/llvm/llvm-3.7.0-r3.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${P}-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${P}-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup 'python*'
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- popd >/dev/null || die
- fi
-}
-
-pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.0-r4.ebuild b/sys-devel/llvm/llvm-3.7.0-r4.ebuild
deleted file mode 100644
index 8f74d07..0000000
--- a/sys-devel/llvm/llvm-3.7.0-r4.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${P}-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${P}-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.0-r5.ebuild b/sys-devel/llvm/llvm-3.7.0-r5.ebuild
deleted file mode 100644
index cc86192..0000000
--- a/sys-devel/llvm/llvm-3.7.0-r5.ebuild
+++ /dev/null
@@ -1,540 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( sys-libs/libcxx )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
-
- # Fix msan with newer kernels, #569894
- epatch "${FILESDIR}"/llvm-3.7-msan-fix.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${P}-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix msan with newer kernels, compiler-rt part, #569894
- epatch "${FILESDIR}"/compiler-rt-3.7-msan-fix.patch
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${P}-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp"
- elog "and use the '-fopenmp=libomp' command line option"
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.1.ebuild b/sys-devel/llvm/llvm-3.7.1.ebuild
deleted file mode 100644
index 9a53dea..0000000
--- a/sys-devel/llvm/llvm-3.7.1.ebuild
+++ /dev/null
@@ -1,550 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )"
-
-LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-pkg_pretend() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_setup() {
- pkg_pretend
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-build_doc.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- epatch "${FILESDIR}"/llvm-3.7-llvm-config.patch
-
- # Fix msan with newer kernels, #569894
- epatch "${FILESDIR}"/llvm-3.7-msan-fix.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch
-
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-compiler_rt_arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix msan with newer kernels, compiler-rt part, #569894
- epatch "${FILESDIR}"/compiler-rt-3.7-msan-fix.patch
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- epatch "${FILESDIR}"/${PN}-3.7-lldb_python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- epatch "${FILESDIR}"/cmake/${PN}-3.7.0-lldb_tinfo.patch
- fi
-
- # User patches
- epatch_user
-
- python_setup
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.7.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang && ! has_version sys-libs/libomp; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-05-31 19:16 Markus Meier
0 siblings, 0 replies; 860+ messages in thread
From: Markus Meier @ 2016-05-31 19:16 UTC (permalink / raw
To: gentoo-commits
commit: 099e2333ff01cd87f3debaed9f8769c7e1680799
Author: Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 19:15:03 2016 +0000
Commit: Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Tue May 31 19:15:03 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=099e2333
sys-devel/llvm: arm stable, bug #564402
Package-Manager: portage-2.3.0_rc1
RepoMan-Options: --include-arches="arm"
sys-devel/llvm/llvm-3.7.1-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r2.ebuild b/sys-devel/llvm/llvm-3.7.1-r2.ebuild
index 10e5e16..9e22175 100644
--- a/sys-devel/llvm/llvm-3.7.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-06-03 20:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-06-03 20:25 UTC (permalink / raw
To: gentoo-commits
commit: 6759b6ce73ce5419db01f746aa88bc48d910a2e0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 3 20:23:28 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 3 20:25:20 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6759b6ce
sys-devel/llvm: Bump cmake requirement for live to 3.4.3, #584914
sys-devel/llvm/llvm-9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index dda696c..8d290ba 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -5,6 +5,7 @@
EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+CMAKE_MIN_VERSION=3.4.3
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils eutils flag-o-matic git-r3 multilib \
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-06-16 16:19 Michael Palimaka
0 siblings, 0 replies; 860+ messages in thread
From: Michael Palimaka @ 2016-06-16 16:19 UTC (permalink / raw
To: gentoo-commits
commit: 7336e7ac185b69478740ce596d06c9401f2c5468
Author: Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 16:18:21 2016 +0000
Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 16:19:01 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7336e7ac
sys-devel/llvm: amd64/x86 stable
Gentoo-bug: 564402
Package-Manager: portage-2.3.0_rc1
sys-devel/llvm/llvm-3.7.1-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r2.ebuild b/sys-devel/llvm/llvm-3.7.1-r2.ebuild
index 9e22175..65f2fc7 100644
--- a/sys-devel/llvm/llvm-3.7.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
-KEYWORDS="~amd64 arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-03 7:17 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-03 7:17 UTC (permalink / raw
To: gentoo-commits
commit: 9ca3a8be770285335ab3e2ef9b253a28f9909d41
Author: Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 27 01:21:02 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 07:17:44 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ca3a8be
sys-devel/llvm: fix git-format-clang shebang, #562688
Bug: https://bugs.gentoo.org/562688
Package-Manager: portage-2.2.28
Pull-Request: https://github.com/gentoo/gentoo/pull/1766
sys-devel/llvm/{llvm-3.7.1-r2.ebuild => llvm-3.7.1-r3.ebuild} | 7 +++++--
sys-devel/llvm/{llvm-3.8.0-r2.ebuild => llvm-3.8.0-r3.ebuild} | 7 +++++--
sys-devel/llvm/llvm-9999.ebuild | 6 ++++--
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r2.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
similarity index 99%
rename from sys-devel/llvm/llvm-3.7.1-r2.ebuild
rename to sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 65f2fc7..a76fae7 100644
--- a/sys-devel/llvm/llvm-3.7.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -136,6 +136,8 @@ src_unpack() {
}
src_prepare() {
+ python_setup
+
# Make ocaml warnings non-fatal, bug #537308
sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
# Fix libdir for ocaml bindings install, bug #559134
@@ -204,6 +206,9 @@ src_prepare() {
# https://llvm.org/bugs/show_bug.cgi?id=23793
eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+ # Fix git-clang-format shebang, bug #562688
+ python_fix_shebang tools/clang/tools/clang-format/git-clang-format
+
pushd projects/compiler-rt >/dev/null || die
# Fix msan with newer kernels, compiler-rt part, #569894
@@ -236,8 +241,6 @@ src_prepare() {
# User patches
eapply_user
- python_setup
-
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
}
diff --git a/sys-devel/llvm/llvm-3.8.0-r2.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
similarity index 99%
rename from sys-devel/llvm/llvm-3.8.0-r2.ebuild
rename to sys-devel/llvm/llvm-3.8.0-r3.ebuild
index 2a11830..bc84e8f 100644
--- a/sys-devel/llvm/llvm-3.8.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -137,6 +137,8 @@ src_unpack() {
}
src_prepare() {
+ python_setup
+
# Make ocaml warnings non-fatal, bug #537308
sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
# Fix libdir for ocaml bindings install, bug #559134
@@ -201,6 +203,9 @@ src_prepare() {
# https://llvm.org/bugs/show_bug.cgi?id=23793
eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+ # Fix git-clang-format shebang, bug #562688
+ python_fix_shebang tools/clang/tools/clang-format/git-clang-format
+
# Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064
# https://llvm.org/bugs/show_bug.cgi?id=26651
eapply "${FILESDIR}"/clang-3.8-compiler-rt-fbsd.patch
@@ -227,8 +232,6 @@ src_prepare() {
# User patches
eapply_user
- python_setup
-
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 8d290ba..148ed8a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -107,6 +107,8 @@ pkg_pretend() {
pkg_setup() {
pkg_pretend
+
+ python-single-r1_pkg_setup
}
src_unpack() {
@@ -140,6 +142,8 @@ src_unpack() {
}
src_prepare() {
+ python_setup
+
# Make ocaml warnings non-fatal, bug #537308
sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
# Fix libdir for ocaml bindings install, bug #559134
@@ -203,8 +207,6 @@ src_prepare() {
# User patches
eapply_user
- python_setup
-
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-03 7:17 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-03 7:17 UTC (permalink / raw
To: gentoo-commits
commit: dca110f7654ebcec94bbdf6f7a9868d0ef788ab9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 3 06:47:21 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 07:17:44 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dca110f7
sys-devel/llvm: Sync and clean up WX section code
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-9999.ebuild | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index a76fae7..d134a06 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -216,8 +216,8 @@ src_prepare() {
# Fix WX sections, bug #421527
find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} + || die
popd >/dev/null || die
fi
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
index bc84e8f..0b38f2e 100644
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -214,8 +214,8 @@ src_prepare() {
# Fix WX sections, bug #421527
find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} + || die
popd >/dev/null || die
fi
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 148ed8a..745d373 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -192,9 +192,9 @@ src_prepare() {
eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
# Fix WX sections, bug #421527
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} \; || die
+ find projects/compiler-rt/lib/builtins -type f -name '*.S' -exec sed \
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} + || die
fi
if use lldb; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-03 8:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-03 8:19 UTC (permalink / raw
To: gentoo-commits
commit: d2563074dd89ab616032b610baed2367b1a5759f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 3 07:29:46 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 08:19:07 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2563074
sys-devel/llvm: Use tc-is-gcc from toolchain-funcs
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
index 0b38f2e..31be20b 100644
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -173,7 +173,7 @@ src_prepare() {
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
# Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && [[ $(tc-getCC) == *gcc* ]] && append-cppflags "-D_GLIBCXX_USE_C99"
+ use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
if use clang; then
# Automatically select active system GCC's libraries, bugs #406163 and #417913
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-03 8:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-03 8:19 UTC (permalink / raw
To: gentoo-commits
commit: 7e88be51d33474f705aad33812d1368373f5bf7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 3 07:34:43 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 08:19:07 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e88be51
sys-devel/llvm: Improve cross-compiler support, #442958
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 17 +++++++++++++++++
sys-devel/llvm/llvm-9999.ebuild | 17 +++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
index 31be20b..98b01a8 100644
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -368,6 +368,23 @@ multilib_src_configure() {
#filter-flags -msahf -frecord-gcc-switches
fi
+ if tc-is-cross-compiler; then
+ [[ -x "/usr/bin/llvm-tblgen" ]] \
+ || die "/usr/bin/llvm-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ )
+
+ if use clang; then
+ [[ -x "/usr/bin/clang-tblgen" ]] \
+ || die "/usr/bin/clang-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+ )
+ fi
+ fi
+
cmake-utils_src_configure
}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 745d373..cb77817 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -343,6 +343,23 @@ multilib_src_configure() {
#filter-flags -msahf -frecord-gcc-switches
fi
+ if tc-is-cross-compiler; then
+ [[ -x "/usr/bin/llvm-tblgen" ]] \
+ || die "/usr/bin/llvm-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ )
+
+ if use clang; then
+ [[ -x "/usr/bin/clang-tblgen" ]] \
+ || die "/usr/bin/clang-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+ )
+ fi
+ fi
+
cmake-utils_src_configure
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-15 20:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-15 20:49 UTC (permalink / raw
To: gentoo-commits
commit: 8eddfbb60d27839b08b0778eaf5b1ae2d7b27d66
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 15 20:22:11 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 15 20:49:46 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eddfbb6
sys-devel/llvm: Bump to 3.8.1
sys-devel/llvm/Manifest | 5 +
sys-devel/llvm/llvm-3.8.1.ebuild | 537 +++++++++++++++++++++++++++++++++++++++
2 files changed, 542 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b21128e..20d4862 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,18 +3,22 @@ DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3
+DIST cfe-3.8.1.src.tar.xz 9605548 SHA256 4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf SHA512 72d23a410271b50f97371b13dd7a6c6c5c0a993e35df436ab716ece8521d83406aa3d4bf8fdecd8154139f39fd5e011e480d405225d8c3ff152d0a2ac4573e04 WHIRLPOOL 7bcc9e6fed871b7490e2a280f2ad36008150a0af3605357fbe529aea8a7acbbed41c7da273dd150f8f50869cd321f114e909236261c4dd05ed7f644c75f208c4
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9
+DIST clang-tools-extra-3.8.1.src.tar.xz 334768 SHA256 664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396 SHA512 ec8c4a6ac4fd1a0e24fc15e56ba00828e0d718c2f7bd477ea134ab094c67f4f4b2f603f128ec11a03b7f25f3e9b8fe75181e40730c56b7b683f54e3f37573137 WHIRLPOOL b05213cbe21b778e718233cecbf4d01b92c1f133eced6fdd3fa5059c4b10e5f0407549634f65032af177ba1614250f5c02e283c2b03563db3e227b1afcae424b
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325 WHIRLPOOL 0bea047e48622884a6fc6bb3826046e9de5b3192006cc41c0ccd9d6c611674869c3c15988b531a0f7d9fea2cf951b90ecef385b85db765c6f99a48692fdcf223
DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5
+DIST compiler-rt-3.8.1.src.tar.xz 1263312 SHA256 0df011dae14d8700499dfc961602ee0a9572fef926202ade5dcdfe7858411e5c SHA512 bed3da5f8594c4bf71af406419fbeaf7ed5d8bf46adb305233a298271d34a9af1072bcb47d474ac19bb862cc7c7bc9e1d89bc1567133553f29480030cad1cf75 WHIRLPOOL 950de96c57461c51ee9857dd56a858876f6bdb09f44ea1ec96c6f113d3499f5f3ddb90e86a8a6b50460577e1b4857da3dd6024eb3427d837630a2c4c678c360a
DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049
+DIST lldb-3.8.1.src.tar.xz 10928220 SHA256 349148116a47e39dcb5d5042f10d8a6357d2c865034563283ca512f81cdce8a3 SHA512 d73c55daed6ef5e5ca784c7010f2d75be26024b14fa61a2861a8a6cbe129e417fb7be2a3b532e17e9d7de98ae38ce6a689d8166049eff365fb04f4bd772758f3 WHIRLPOOL 78dd8161cd1411bd62cb3ffe1196fe95ccb73d78f2e141a58c63776eb6d91065fe1348b1b8e241630cdf954ab659b333ebbcdcaeba3e6df36af62aaf3a7c6634
DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819
DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1
DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256
@@ -24,3 +28,4 @@ DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aa
DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70
DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676
DIST llvm-3.8.0.src.tar.xz 16580932 SHA256 555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46 SHA512 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138 WHIRLPOOL f7219f3324080f22158b08eb23b5b545d303090d0bb8cde6ee971da829dd52837832a127792b153006568e0c7c0163c1095d1e258600f4359df347148e965b94
+DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9 SHA512 99bbb2cc5f337fd5edf1621f8028c8cb74011aa4af2531018dc05409b27f7b8d0c2f76a00115f677f7c013029d5d9f55d085a5b40433409aac4e9161d53bd366 WHIRLPOOL a99cef164a0e05e5237b840bee776d48fe0bde460cb4536f03a5e4eb0cc630deeb96f76bdd42f912a4b2dab08133bd9137ea16be1b9582d375f0f5841dd40234
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
new file mode 100644
index 0000000..98b01a8
--- /dev/null
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -0,0 +1,537 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+PYTHON_COMPAT=( python2_7 )
+
+inherit check-reqs cmake-utils eutils flag-o-matic multilib \
+ multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+ !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
+
+LICENSE="UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
+ python +static-analyzer test xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
+
+COMMON_DEPEND="
+ sys-libs/zlib:0=
+ clang? (
+ python? ( ${PYTHON_DEPS} )
+ static-analyzer? (
+ dev-lang/perl:*
+ ${PYTHON_DEPS}
+ )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ lldb? ( dev-python/six[${PYTHON_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ ocaml? (
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/findlib
+ dev-ml/ocaml-ctypes
+ !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=sys-devel/make-3.81
+ >=sys-devel/flex-2.5.4
+ >=sys-devel/bison-1.875d
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
+ clang? ( xml? ( virtual/pkgconfig ) )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ lldb? ( dev-lang/swig )
+ !!<dev-python/configparser-3.3.0.2
+ ocaml? ( test? ( dev-ml/ounit ) )
+ ${PYTHON_DEPS}"
+RDEPEND="${COMMON_DEPEND}
+ clang? ( !<=sys-devel/clang-${PV}-r99 )
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+
+# pypy gives me around 1700 unresolved tests due to open file limit
+# being exceeded. probably GC does not close them fast enough.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ lldb? ( clang xml )"
+
+S=${WORKDIR}/${P/_}.src
+
+pkg_pretend() {
+ # in megs
+ # !clang !debug !multitarget -O2 400
+ # !clang !debug multitarget -O2 550
+ # clang !debug !multitarget -O2 950
+ # clang !debug multitarget -O2 1200
+ # !clang debug multitarget -O2 5G
+ # clang !debug multitarget -O0 -g 12G
+ # clang debug multitarget -O2 16G
+ # clang debug multitarget -O0 -g 14G
+
+ local build_size=550
+ use clang && build_size=1200
+
+ if use debug; then
+ ewarn "USE=debug is known to increase the size of package considerably"
+ ewarn "and cause the tests to fail."
+ ewarn
+
+ (( build_size *= 14 ))
+ elif is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn "The C++ compiler -g option is known to increase the size of the package"
+ ewarn "considerably. If you run out of space, please consider removing it."
+ ewarn
+
+ (( build_size *= 10 ))
+ fi
+
+ # Multiply by number of ABIs :).
+ local abis=( $(multilib_get_enabled_abis) )
+ (( build_size *= ${#abis[@]} ))
+
+ local CHECKREQS_DISK_BUILD=${build_size}M
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+}
+
+src_unpack() {
+ default
+
+ if use clang; then
+ mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
+ || die "clang source directory move failed"
+ mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
+ || die "compiler-rt source directory move failed"
+ mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
+ || die "clang-tools-extra source directory move failed"
+ fi
+
+ if use lldb; then
+ mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
+ || die "lldb source directory move failed"
+ fi
+}
+
+src_prepare() {
+ python_setup
+
+ # Make ocaml warnings non-fatal, bug #537308
+ sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
+ # Fix libdir for ocaml bindings install, bug #559134
+ eapply "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
+ # Do not build/install ocaml docs with USE=-doc, bug #562008
+ eapply "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-build_doc.patch
+
+ # Make it possible to override Sphinx HTML install dirs
+ # https://llvm.org/bugs/show_bug.cgi?id=23780
+ eapply "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
+
+ # Prevent race conditions with parallel Sphinx runs
+ # https://llvm.org/bugs/show_bug.cgi?id=23781
+ eapply "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
+
+ # Prevent installing libgtest
+ # https://llvm.org/bugs/show_bug.cgi?id=18341
+ eapply "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
+
+ # Allow custom cmake build types (like 'Gentoo')
+ eapply "${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
+
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/llvm-3.8-llvm-config.patch
+
+ # Restore SOVERSIONs for shared libraries
+ # https://bugs.gentoo.org/show_bug.cgi?id=578392
+ eapply "${FILESDIR}"/llvm-3.8-soversion.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
+ use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
+
+ if use clang; then
+ # Automatically select active system GCC's libraries, bugs #406163 and #417913
+ eapply "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
+
+ # Support gcc4.9 search paths
+ # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3
+ eapply "${FILESDIR}"/clang-3.8-gcc4.9-search-path.patch
+
+ eapply "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
+ eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
+
+ sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
+ tools/clang/tools/scan-build/bin/scan-build || die
+
+ # Install clang runtime into /usr/lib/clang
+ # https://llvm.org/bugs/show_bug.cgi?id=23792
+ eapply "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
+ eapply "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
+
+ # Do not force -march flags on arm platforms
+ # https://bugs.gentoo.org/show_bug.cgi?id=562706
+ eapply "${FILESDIR}"/cmake/${PN}-3.8.0-compiler_rt_arm_march_flags.patch
+
+ # Make it possible to override CLANG_LIBDIR_SUFFIX
+ # (that is used only to find LLVMgold.so)
+ # https://llvm.org/bugs/show_bug.cgi?id=23793
+ eapply "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+
+ # Fix git-clang-format shebang, bug #562688
+ python_fix_shebang tools/clang/tools/clang-format/git-clang-format
+
+ # Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064
+ # https://llvm.org/bugs/show_bug.cgi?id=26651
+ eapply "${FILESDIR}"/clang-3.8-compiler-rt-fbsd.patch
+
+ pushd projects/compiler-rt >/dev/null || die
+
+ # Fix WX sections, bug #421527
+ find lib/builtins -type f -name '*.S' -exec sed \
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} + || die
+
+ popd >/dev/null || die
+ fi
+
+ if use lldb; then
+ # Do not install dummy readline.so module from
+ # https://llvm.org/bugs/show_bug.cgi?id=18841
+ sed -e 's/add_subdirectory(readline)/#&/' \
+ -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
+ # Do not install bundled six module
+ eapply "${FILESDIR}"/${PN}-3.8-lldb_six.patch
+ fi
+
+ # User patches
+ eapply_user
+
+ # Native libdir is used to hold LLVMgold.so
+ NATIVE_LIBDIR=$(get_libdir)
+}
+
+multilib_src_configure() {
+ local targets
+ if use multitarget; then
+ targets=all
+ else
+ targets='host;BPF;CppBackend'
+ use video_cards_radeon && targets+=';AMDGPU'
+ fi
+
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$(pkg-config --cflags-only-I libffi)
+ ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_ENABLE_TIMESTAMPS=OFF
+ -DLLVM_TARGETS_TO_BUILD="${targets}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ -DHAVE_HISTEDIT_H=$(usex libedit)
+ )
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+ )
+ fi
+
+ if use lldb; then
+ mycmakeargs+=(
+ -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
+ -DLLDB_DISABLE_CURSES=$(usex !ncurses)
+ -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
+ )
+ fi
+
+ if ! multilib_is_native_abi || ! use ocaml; then
+ mycmakeargs+=(
+ -DOCAMLFIND=NO
+ )
+ fi
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
+ )
+ fi
+
+ if use gold; then
+ mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if use lldb; then
+ mycmakeargs+=(
+ -DLLDB_DISABLE_PYTHON=$(usex !python)
+ )
+ fi
+
+ else
+ if use clang; then
+ mycmakeargs+=(
+ # disable compiler-rt on non-native ABI because:
+ # 1. it fails to configure because of -m32
+ # 2. it is shared between ABIs so no point building
+ # it multiple times
+ -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
+ )
+ fi
+ if use lldb; then
+ mycmakeargs+=(
+ # only run swig on native abi
+ -DLLDB_DISABLE_PYTHON=ON
+ )
+ fi
+ fi
+
+ if use clang; then
+ mycmakeargs+=(
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+ -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
+ )
+
+ # -- not needed when compiler-rt is built with host compiler --
+ # cmake passes host C*FLAGS to compiler-rt build
+ # which is performed using clang, so we need to filter out
+ # some flags clang does not support
+ # (if you know some more flags that don't work, let us know)
+ #filter-flags -msahf -frecord-gcc-switches
+ fi
+
+ if tc-is-cross-compiler; then
+ [[ -x "/usr/bin/llvm-tblgen" ]] \
+ || die "/usr/bin/llvm-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ )
+
+ if use clang; then
+ [[ -x "/usr/bin/clang-tblgen" ]] \
+ || die "/usr/bin/clang-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+ )
+ fi
+ fi
+
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ # TODO: not sure why this target is not correctly called
+ multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local test_targets=( check )
+ # clang tests won't work on non-native ABI because we skip compiler-rt
+ multilib_is_native_abi && use clang && test_targets+=( check-clang )
+ cmake-utils_src_make "${test_targets[@]}"
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/config.h
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ if use clang; then
+ # note: magic applied in multilib_src_install()!
+ CLANG_VERSION=${PV%.*}
+
+ MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/clang
+ /usr/bin/clang++
+ /usr/bin/clang-cl
+ /usr/bin/clang-${CLANG_VERSION}
+ /usr/bin/clang++-${CLANG_VERSION}
+ /usr/bin/clang-cl-${CLANG_VERSION}
+ )
+
+ MULTILIB_WRAPPED_HEADERS+=(
+ /usr/include/clang/Config/config.h
+ )
+ fi
+
+ multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ if use kernel_FreeBSD && use clang; then
+ rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi; then
+ # Install man pages.
+ use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1
+
+ # Symlink the gold plugin.
+ if use gold; then
+ dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
+ dosym "../../../../$(get_libdir)/LLVMgold.so" \
+ "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
+ fi
+ fi
+
+ # apply CHOST and CLANG_VERSION to clang executables
+ # they're statically linked so we don't have to worry about the lib
+ if use clang; then
+ local clang_tools=( clang clang++ clang-cl )
+ local i
+
+ # cmake gives us:
+ # - clang-X.Y
+ # - clang -> clang-X.Y
+ # - clang++, clang-cl -> clang
+ # we want to have:
+ # - clang-X.Y
+ # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
+ # - clang, clang++, clang-cl -> clang*-X.Y
+ # so we need to fix the two tools
+ for i in "${clang_tools[@]:1}"; do
+ rm "${ED%/}/usr/bin/${i}" || die
+ dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
+ dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
+ done
+
+ # now prepend ${CHOST} and let the multilib-build.eclass symlink it
+ if ! multilib_is_native_abi; then
+ # non-native? let's replace it with a simple wrapper
+ for i in "${clang_tools[@]}"; do
+ rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
+ cat > "${T}"/wrapper.tmp <<-_EOF_
+ #!${EPREFIX}/bin/sh
+ exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
+ _EOF_
+ newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
+ done
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ insinto /usr/share/vim/vimfiles
+ doins -r utils/vim/*/.
+ # some users may find it useful
+ dodoc utils/vim/vimrc
+
+ if use clang; then
+ pushd tools/clang >/dev/null || die
+
+ if use python ; then
+ pushd bindings/python/clang >/dev/null || die
+
+ python_moduleinto clang
+ python_domodule *.py
+
+ popd >/dev/null || die
+ fi
+
+ # AddressSanitizer symbolizer (currently separate)
+ dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
+
+ popd >/dev/null || die
+
+ python_fix_shebang "${ED}"
+ if use static-analyzer; then
+ python_optimize "${ED}"usr/share/scan-view
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if use clang && ! has_version 'sys-libs/libomp'; then
+ elog "To enable OpenMP support in clang, install sys-libs/libomp."
+ fi
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-16 12:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-16 12:12 UTC (permalink / raw
To: gentoo-commits
commit: f1b0ceb8537b39398edc9962f164736dd71e98a9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 16 12:11:51 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 16 12:12:49 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1b0ceb8
sys-devel/llvm: Change subslot of 3.8.1 to match 3.8.0
sys-devel/llvm/llvm-3.8.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index 98b01a8..cc7982b 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
+SLOT="0/3.8.0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-23 17:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-23 17:23 UTC (permalink / raw
To: gentoo-commits
commit: fe47cbbea755ac9ec4b8e2d6b96e739a650d0194
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 23 17:20:54 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 23 17:22:08 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe47cbbe
sys-devel/llvm: Bump clang version in -9999 to 4.0, #589368
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index c0cd607..3420452 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -400,7 +400,7 @@ src_install() {
if use clang; then
# note: magic applied in multilib_src_install()!
- CLANG_VERSION=3.9
+ CLANG_VERSION=4.0
MULTILIB_CHOST_TOOLS+=(
/usr/bin/clang
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-07-23 17:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-07-23 17:23 UTC (permalink / raw
To: gentoo-commits
commit: c8edfb067c1ba572a4100ed2699c288245f2a9e2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 23 17:19:11 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 23 17:22:08 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8edfb06
sys-devel/llvm: Strip third version component for subslot, in -9999
Strip the third version component (if there is any) for subslot value,
therefore ensuring that e.g. 3.9.* will have subslot 3.9. This is not
relevant to the -9999 ebuild but hopefully it will prevent me from
forgetting to finally do this on next release.
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index cb77817..c0cd607 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -18,7 +18,7 @@ EGIT_REPO_URI="http://llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
LICENSE="UoI-NCSA"
-SLOT="0/${PV}"
+SLOT="0/${PV%.*}"
KEYWORDS=""
IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-08-14 5:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-08-14 5:58 UTC (permalink / raw
To: gentoo-commits
commit: 4e65f08472f93b9dbccc1b1243b5f38541bdc261
Author: Lei Zhang <zhanglei.april <AT> gmail <DOT> com>
AuthorDate: Fri Jul 29 08:11:35 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 14 05:58:36 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e65f084
sys-devel/llvm: update the live ebuild
Closes: https://github.com/gentoo/gentoo/pull/2066
Package-Manager: portage-2.2.28
sys-devel/llvm/llvm-9999.ebuild | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 3420452..c8a34ba 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -20,9 +20,9 @@ EGIT_REPO_URI="http://llvm.org/git/llvm.git
LICENSE="UoI-NCSA"
SLOT="0/${PV%.*}"
KEYWORDS=""
-IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
+IUSE="clang debug default-compiler-rt default-libcxx +doc gold libedit +libffi
+ lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
+ video_cards_radeon elibc_musl kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -60,6 +60,7 @@ DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
+ default-libcxx? ( sys-libs/libcxx )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
@@ -174,6 +175,9 @@ src_prepare() {
# https://bugs.gentoo.org/show_bug.cgi?id=578392
eapply "${FILESDIR}"/llvm-3.8-soversion.patch
+ # support building llvm against musl-libc
+ use elibc_musl && eapply "${FILESDIR}"/llvm-3.8-musl-fixes.patch
+
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
@@ -257,6 +261,14 @@ multilib_src_configure() {
# libgomp support fails to find headers without explicit -I
# furthermore, it provides only syntax checking
-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+ # override default stdlib and rtlib
+ -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
+ -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
+
+ # compiler-rt's test cases depend on sanitizer
+ -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex sanitize)
)
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-08-16 16:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-08-16 16:30 UTC (permalink / raw
To: gentoo-commits
commit: 2edef8cab843b1b74fb5f1e3fd1808c1d9a096f3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 16 16:24:04 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 16:30:50 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2edef8ca
sys-devel/llvm: Transfer maintenance to LLVM project
sys-devel/llvm/metadata.xml | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 09156e2..681eb77 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -1,17 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>mgorny@gentoo.org</email>
- <name>Michał Górny</name>
- </maintainer>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>wizardedit@gentoo.org</email>
- <name>Austin English</name>
+ <maintainer type="project">
+ <email>llvm@gentoo.org</email>
</maintainer>
<longdescription>Low Level Virtual Machine (LLVM) is:
1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-08-21 18:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-08-21 18:51 UTC (permalink / raw
To: gentoo-commits
commit: dd4f27183f45ab27ecd26e3300d3ba8a57429500
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 21 18:40:05 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 21 18:50:47 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd4f2718
sys-devel/llvm: Reduce keywords on 3.8.1-r1 to match sys-libs/libcxx
sys-devel/llvm/llvm-3.8.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.8.1-r1.ebuild b/sys-devel/llvm/llvm-3.8.1-r1.ebuild
index c2e88d9..2e78867 100644
--- a/sys-devel/llvm/llvm-3.8.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
LICENSE="UoI-NCSA"
SLOT="0/3.8.0"
-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"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
video_cards_radeon elibc_musl kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-08-29 21:43 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-08-29 21:43 UTC (permalink / raw
To: gentoo-commits
commit: 6b3fc923145a19ae5bf212ed7fac4969c6fef1c5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 29 21:40:51 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 29 21:43:18 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b3fc923
sys-devel/llvm: Fix cmake unused arg warnings with USE=-doc
sys-devel/llvm/llvm-9999.ebuild | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e4be885..6fbe8c8 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -188,16 +188,15 @@ multilib_src_configure() {
-DLLVM_BUILD_DOCS=$(usex doc)
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
)
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
fi
if tc-is-cross-compiler; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-03 17:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-03 17:35 UTC (permalink / raw
To: gentoo-commits
commit: 1cba74ccbbac94faacfe3ca83eae0b6516a5e54c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 3 14:46:49 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 3 17:35:30 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1cba74cc
sys-devel/llvm: Readd WX stack fix to 3.9.0
sys-devel/llvm/llvm-3.9.0.ebuild | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index ed79ebb..3752c6d 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -202,6 +202,15 @@ src_prepare() {
# Fix git-clang-format shebang, bug #562688
python_fix_shebang tools/clang/tools/clang-format/git-clang-format
+
+ pushd projects/compiler-rt >/dev/null || die
+
+ # Fix WX sections, bug #421527
+ find lib/builtins -type f -name '*.S' -exec sed \
+ -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
+ -i {} + || die
+
+ popd >/dev/null || die
fi
if use lldb; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-04 15:04 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-09-04 15:04 UTC (permalink / raw
To: gentoo-commits
commit: fba3adb7b8c340ad5fb0a9790a4784fe10638acc
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 4 15:04:23 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Sep 4 15:04:42 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fba3adb7
sys-devel/llvm: remove trailing whitespace
Package-Manager: portage-2.2.28
sys-devel/llvm/llvm-3.8.1.ebuild | 2 +-
sys-devel/llvm/llvm-3.9.0.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index 8734298..4846dcd 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -185,7 +185,7 @@ src_prepare() {
eapply "${FILESDIR}"/3.9.0/clang/darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
+
eapply "${FILESDIR}"/3.8.1/compiler-rt/darwin-default-sysroot.patch
sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index 9fde6d4..d310072 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -181,7 +181,7 @@ src_prepare() {
eapply "${FILESDIR}"/3.9.0/clang/darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
+
eapply "${FILESDIR}"/3.8.1/compiler-rt/darwin-default-sysroot.patch
pushd "${S}"/tools/clang >/dev/null || die
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-06 12:56 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-06 12:56 UTC (permalink / raw
To: gentoo-commits
commit: 9ad85349cc69fe2d3d9b2f6b0be06e0080dc7f4b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 12:52:22 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 12:56:00 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ad85349
sys-devel/llvm: Move libcxx to PDEP, to avoid circular deps
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.9.0.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index de892fd..7db30d1 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -67,10 +67,10 @@ DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
- default-libcxx? ( sys-libs/libcxx )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+ default-libcxx? ( sys-libs/libcxx )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index d310072..fa91fb5 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -69,10 +69,10 @@ DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
- default-libcxx? ( sys-libs/libcxx )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+ default-libcxx? ( sys-libs/libcxx )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-08 18:43 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-08 18:43 UTC (permalink / raw
To: gentoo-commits
commit: e4d89346479d65149d600dd68b675736a43bf42e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 8 18:36:13 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 8 18:42:56 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4d89346
sys-devel/llvm: Fix disabling OCaml docs in -9999
sys-devel/llvm/llvm-9999.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 2f4485f..d7470a2 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -179,6 +179,9 @@ multilib_src_configure() {
if multilib_is_native_abi; then
mycmakeargs+=(
-DLLVM_BUILD_DOCS=$(usex doc)
+ # note: this is used only when OCaml is enabled, so we can
+ # set it to 'yes' even without OCaml around
+ -DLLVM_ENABLE_OCAMLDOC=$(usex doc)
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-09 18:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-09 18:02 UTC (permalink / raw
To: gentoo-commits
commit: 77581a9e63e15d4d6a35ad7c48555a0e045d430a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 9 16:13:08 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 9 18:01:58 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77581a9e
sys-devel/llvm: Improve OCaml deps as suggested by aballier
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 6 +++---
sys-devel/llvm/llvm-3.9.0.ebuild | 6 +++---
sys-devel/llvm/llvm-9999.ebuild | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index 7db30d1..195d8ec 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -43,8 +43,7 @@ COMMON_DEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
ocaml? (
>=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
+ dev-ml/ocaml-ctypes:=
!!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${COMMON_DEPEND}
@@ -63,7 +62,8 @@ DEPEND="${COMMON_DEPEND}
libffi? ( virtual/pkgconfig )
lldb? ( dev-lang/swig )
!!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
+ ocaml? ( dev-ml/findlib
+ test? ( dev-ml/ounit ) )
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index fa91fb5..ec4ce04 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -45,8 +45,7 @@ COMMON_DEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
ocaml? (
>=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
+ dev-ml/ocaml-ctypes:=
!!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${COMMON_DEPEND}
@@ -65,7 +64,8 @@ DEPEND="${COMMON_DEPEND}
libffi? ( virtual/pkgconfig )
lldb? ( dev-lang/swig )
!!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
+ ocaml? ( dev-ml/findlib
+ test? ( dev-ml/ounit ) )
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index d7470a2..17f78ea 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -32,8 +32,7 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
ocaml? (
>=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes )"
+ dev-ml/ocaml-ctypes:= )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -45,7 +44,8 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- ocaml? ( test? ( dev-ml/ounit ) )
+ ocaml? ( dev-ml/findlib
+ test? ( dev-ml/ounit ) )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-10 8:23 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-09-10 8:23 UTC (permalink / raw
To: gentoo-commits
commit: 6c324f1ccdf021ce6b923a5c0589572c4d3cfd28
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 08:22:57 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 08:22:57 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c324f1c
sys-devel/llvm: move libcxx into PDEPEND for Darwin
llvm needs libcxx-headers at most, but not the library, however, llvm
does segfault if the matching libcxx isn't available at runtime, so make
sure we install a matching version after installing llvm on Darwin.
Package-Manager: portage-2.2.28
sys-devel/llvm/llvm-3.5.2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1.ebuild | 4 ++--
sys-devel/llvm/llvm-3.9.0.ebuild | 3 ++-
5 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index a4f1139..62acb5a 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -50,7 +50,6 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
@@ -61,7 +60,8 @@ RDEPEND="${COMMON_DEPEND}
!>=sys-devel/clang-9999 )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+ kernel_Darwin? ( =sys-libs/libcxx-${SLOT#*/}* )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index a933eb6..b8805b0 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -55,7 +55,6 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
@@ -68,7 +67,8 @@ RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+ kernel_Darwin? ( =sys-libs/libcxx-${PV}* )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index 195d8ec..14a2e82 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -55,7 +55,6 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
@@ -70,7 +69,8 @@ RDEPEND="${COMMON_DEPEND}
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- default-libcxx? ( sys-libs/libcxx )"
+ default-libcxx? ( sys-libs/libcxx )
+ kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index 4846dcd..81d3f0f 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -56,7 +56,6 @@ DEPEND="${COMMON_DEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
@@ -69,7 +68,8 @@ RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+ kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index ec4ce04..ae3d205 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -72,7 +72,8 @@ RDEPEND="${COMMON_DEPEND}
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- default-libcxx? ( sys-libs/libcxx )"
+ default-libcxx? ( sys-libs/libcxx )
+ kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-10 17:08 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-09-10 17:08 UTC (permalink / raw
To: gentoo-commits
commit: 8ff8ef49e0509d89d2b0ae078ae29e458aa9e4c7
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 17:08:12 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 17:08:29 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ff8ef49
sys-devel/llvm: make 3.4.2 work post-Prefix bootstrap too
Package-Manager: portage-2.2.28
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 0f5e951..cd3155f 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -190,6 +190,10 @@ src_install() {
if ! use clang; then
rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die
+ else
+ for tool in clang{,++}{,-${PV}} ; do
+ dosym /usr/bin/${tool} /usr/bin/${CHOST}-${tool}
+ done
fi
doman "${WORKDIR}"/${PN}-3.4-manpages/*.1
@@ -200,7 +204,7 @@ src_install() {
eval $(grep PACKAGE_VERSION= configure)
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
+ for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib BugpointPasses.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
# + omit clang libs if not enabled
[[ -f ${ED}/usr/lib/${lib} ]] || continue
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-20 15:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-20 15:12 UTC (permalink / raw
To: gentoo-commits
commit: b5b75fc6fa4fa2a214673c026965190f8bd6e72b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 15:07:04 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 15:12:47 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5b75fc6
sys-devel/llvm: Disable ocamldoc due to wrong install path
sys-devel/llvm/llvm-9999.ebuild | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 17f78ea..0956cb3 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -181,7 +181,10 @@ multilib_src_configure() {
-DLLVM_BUILD_DOCS=$(usex doc)
# note: this is used only when OCaml is enabled, so we can
# set it to 'yes' even without OCaml around
- -DLLVM_ENABLE_OCAMLDOC=$(usex doc)
+ # note 2: disable for now since it installs
+ # to /usr/docs/ocaml/html/html which is kinda wrong
+ # bother to fix it when somebody starts to care
+ -DLLVM_ENABLE_OCAMLDOC=OFF
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-21 13:33 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-21 13:33 UTC (permalink / raw
To: gentoo-commits
commit: 7ea6eab8edd461d5ed7f4a1f62358fd16a7ac1ca
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 21 13:31:05 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 21 13:33:01 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ea6eab8
sys-devel/llvm: Remove the remnants of OCaml documentation
sys-devel/llvm/llvm-9999.ebuild | 2 --
1 file changed, 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 0956cb3..12c9683 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -212,8 +212,6 @@ multilib_src_configure() {
multilib_src_compile() {
cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
pax-mark m "${BUILD_DIR}"/bin/lli
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-23 11:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-23 11:23 UTC (permalink / raw
To: gentoo-commits
commit: c8349494bc758d16a47de730e13057aff602e3f4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 23 11:21:42 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 23 11:23:33 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8349494
sys-devel/llvm: Update for the Sphinx install dir patch applied upstream
sys-devel/llvm/llvm-9999.ebuild | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 12c9683..4c8d6da 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -92,10 +92,6 @@ src_prepare() {
# Fix libdir for ocaml bindings install, bug #559134
eapply "${FILESDIR}"/9999/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${FILESDIR}"/9999/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
# Prevent race conditions with parallel Sphinx runs
# https://llvm.org/bugs/show_bug.cgi?id=23781
eapply "${FILESDIR}"/9999/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
@@ -190,7 +186,7 @@ multilib_src_configure() {
-DLLVM_INSTALL_UTILS=ON
)
use doc && mycmakeargs+=(
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
use gold && mycmakeargs+=(
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-29 14:13 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-29 14:13 UTC (permalink / raw
To: gentoo-commits
commit: bbb81adbfb550e7e4a71329b2e11f5aa79953428
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 24 19:37:11 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 29 14:12:57 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbb81adb
sys-devel/llvm: Use LLVM_TARGETS flags
sys-devel/llvm/llvm-9999.ebuild | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 4c8d6da..526f253 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -18,11 +18,16 @@ SRC_URI=""
EGIT_REPO_URI="http://llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
LICENSE="UoI-NCSA"
SLOT="0/${PV%.*}"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi multitarget ncurses ocaml test
- video_cards_radeon elibc_musl kernel_Darwin"
+ elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
sys-libs/zlib:0=
@@ -49,7 +54,9 @@ DEPEND="${RDEPEND}
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )
+ multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
pkg_pretend() {
# in megs
@@ -121,14 +128,6 @@ src_prepare() {
}
multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
local ffi_cflags ffi_ldflags
if use libffi; then
ffi_cflags=$(pkg-config --cflags-only-I libffi)
@@ -140,7 +139,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${targets}"
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
-DLLVM_ENABLE_FFI=$(usex libffi)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-09-29 14:13 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-09-29 14:13 UTC (permalink / raw
To: gentoo-commits
commit: 8b830238ac480ea029c37db2660807255364498b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 25 18:15:35 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 29 14:13:12 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b830238
sys-devel/llvm: Backport LLVM_TARGETS to 3.9.0
sys-devel/llvm/llvm-3.9.0.ebuild | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index c9f2b86..454f997 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -21,12 +21,17 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( http://dev.gentoo.org/~mgorny/dist/${PN}-3.9.0_rc3-manpages.tar.bz2 )"
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
- video_cards_radeon elibc_musl kernel_Darwin kernel_FreeBSD"
+ elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -78,7 +83,9 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
+ lldb? ( clang xml )
+ || ( ${ALL_LLVM_TARGETS[*]} )
+ multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_}.src
@@ -233,14 +240,6 @@ src_prepare() {
}
multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
local ffi_cflags ffi_ldflags
if use libffi; then
ffi_cflags=$(pkg-config --cflags-only-I libffi)
@@ -252,7 +251,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${targets}"
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
-DLLVM_ENABLE_FFI=$(usex libffi)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-01 13:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-01 13:06 UTC (permalink / raw
To: gentoo-commits
commit: 2ab8e37dec3077908ffcc69f10578caae6936c31
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 1 11:35:18 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 1 13:05:57 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ab8e37d
sys-devel/llvm: Use installed lit for tests
sys-devel/llvm/llvm-9999.ebuild | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 6af306e..4717837 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -51,6 +51,7 @@ DEPEND="${RDEPEND}
libffi? ( virtual/pkgconfig )
ocaml? ( dev-ml/findlib
test? ( dev-ml/ounit ) )
+ test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
@@ -58,6 +59,11 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )
multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
+python_check_deps() {
+ ! use test \
+ || has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
pkg_pretend() {
# in megs
# !debug !multitarget -O2 400
@@ -168,6 +174,10 @@ multilib_src_configure() {
)
# fi
+ use test && mycmakeargs+=(
+ -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
+ )
+
if multilib_is_native_abi; then
mycmakeargs+=(
-DLLVM_BUILD_DOCS=$(usex doc)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-01 13:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-01 13:06 UTC (permalink / raw
To: gentoo-commits
commit: 52b4c3988313f8f4875ff6d12236c0b6120bb46f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 1 06:59:20 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 1 13:05:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52b4c398
sys-devel/llvm: Backport uncond wrapper install to 3.9.0
sys-devel/llvm/llvm-3.9.0.ebuild | 76 +++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 43 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index a5269d3..8ead13e 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -426,18 +426,6 @@ src_install() {
)
if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
MULTILIB_WRAPPED_HEADERS+=(
/usr/include/clang/Config/config.h
)
@@ -445,29 +433,11 @@ src_install() {
multilib-minimal_src_install
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
if use clang; then
+ # Apply CHOST and version suffix to clang tools
+ local clang_version=${PV%.*}
local clang_tools=( clang clang++ clang-cl )
- local i
+ local abi i
# cmake gives us:
# - clang-X.Y
@@ -477,24 +447,44 @@ multilib_src_install() {
# - clang-X.Y
# - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
# - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
+ # also in CHOST variant
for i in "${clang_tools[@]:1}"; do
rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
+ dosym "clang-${clang_version}" "/usr/bin/${i}-${clang_version}"
+ dosym "${i}-${clang_version}" "/usr/bin/${i}"
done
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
+ # now create wrappers for all supported ABIs
+ for abi in $(get_all_abis); do
+ local abi_flags=$(get_abi_CFLAGS "${abi}")
+ local abi_chost=$(get_abi_CHOST "${abi}")
for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
+ cat > "${T}"/wrapper.tmp <<-_EOF_ || die
#!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
+ exec "${i}-${clang_version}" ${abi_flags} "\${@}"
_EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
+ newbin "${T}"/wrapper.tmp "${abi_chost}-${i}-${clang_version}"
+ dosym "${abi_chost}-${i}-${clang_version}" \
+ "/usr/bin/${abi_chost}-${i}"
done
+ done
+ fi
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ if use kernel_FreeBSD && use clang; then
+ rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi; then
+ # Symlink the gold plugin.
+ if use gold; then
+ dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
+ dosym "../../../../$(get_libdir)/LLVMgold.so" \
+ "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
fi
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-02 7:57 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-02 7:57 UTC (permalink / raw
To: gentoo-commits
commit: 01762e9615c4aedcb4bc562c7a9d5fe2fd36dacb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 2 07:55:08 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 2 07:57:55 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01762e96
sys-devel/llvm: Backport target syms from sys-devel/clang
sys-devel/llvm/llvm-3.9.0.ebuild | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index 8ead13e..4514dd0 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -454,16 +454,12 @@ src_install() {
dosym "${i}-${clang_version}" "/usr/bin/${i}"
done
- # now create wrappers for all supported ABIs
+ # now create target symlinks for all supported ABIs
for abi in $(get_all_abis); do
- local abi_flags=$(get_abi_CFLAGS "${abi}")
local abi_chost=$(get_abi_CHOST "${abi}")
for i in "${clang_tools[@]}"; do
- cat > "${T}"/wrapper.tmp <<-_EOF_ || die
- #!${EPREFIX}/bin/sh
- exec "${i}-${clang_version}" ${abi_flags} "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${abi_chost}-${i}-${clang_version}"
+ dosym "${i}-${clang_version}" \
+ "/usr/bin/${abi_chost}-${i}-${clang_version}"
dosym "${abi_chost}-${i}-${clang_version}" \
"/usr/bin/${abi_chost}-${i}"
done
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-02 21:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-02 21:51 UTC (permalink / raw
To: gentoo-commits
commit: 00f67b1579de819d36bd728a1af6e1fa4fca9f4c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 2 21:32:01 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 2 21:51:49 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00f67b15
sys-devel/llvm: Backport clang-cpp symlink, #478810
sys-devel/llvm/llvm-3.9.0.ebuild | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index 4514dd0..3f694d1 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -436,20 +436,20 @@ src_install() {
if use clang; then
# Apply CHOST and version suffix to clang tools
local clang_version=${PV%.*}
- local clang_tools=( clang clang++ clang-cl )
+ local clang_tools=( clang clang++ clang-cl clang-cpp )
local abi i
# cmake gives us:
# - clang-X.Y
# - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
+ # - clang++, clang-cl, clang-cpp -> clang
# we want to have:
# - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
+ # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y
+ # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y
# also in CHOST variant
for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
+ rm -f "${ED%/}/usr/bin/${i}" || die
dosym "clang-${clang_version}" "/usr/bin/${i}-${clang_version}"
dosym "${i}-${clang_version}" "/usr/bin/${i}"
done
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-03 9:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-03 9:38 UTC (permalink / raw
To: gentoo-commits
commit: 4d08de41f15540e066eabfb891dfec05c6dc0a3b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 3 08:59:09 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 3 09:38:40 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d08de41
sys-devel/llvm: Add PDEP on sys-devel/clang-runtime meta
sys-devel/llvm/llvm-3.9.0.ebuild | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index 3f694d1..bd7dfb2 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -76,7 +76,11 @@ RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-r99 )
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
+PDEPEND="
+ clang? (
+ =sys-devel/clang-${PV}-r100
+ ~sys-devel/clang-runtime-${PV}
+ )
default-libcxx? ( sys-libs/libcxx )
kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-03 9:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-03 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 548bc3237217ed51e83be23feaebd0053e3525f7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 3 09:39:50 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 3 09:40:03 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=548bc323
sys-devel/llvm: Remove stale libomp check, it is PDEP now
sys-devel/llvm/llvm-3.9.0.ebuild | 6 ------
1 file changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0.ebuild
index bd7dfb2..f80239a 100644
--- a/sys-devel/llvm/llvm-3.9.0.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0.ebuild
@@ -527,9 +527,3 @@ multilib_src_install_all() {
fi
fi
}
-
-pkg_postinst() {
- if use clang && ! has_version 'sys-libs/libomp'; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-14 4:20 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-14 4:20 UTC (permalink / raw
To: gentoo-commits
commit: 8c9e07f391abda281db0630741110a0d2c8533b5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 04:19:50 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 04:20:40 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c9e07f3
sys-devel/llvm: Fix URLs for 3.4.2, #597000
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index cd3155f..2b6c123 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -11,7 +11,7 @@ inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-3.4.src.tar.gz
+ clang? ( http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
https://dev.gentoo.org/~mgorny/dist/${PN}-3.4-manpages.tar.bz2"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-15 6:14 Jeroen Roovers
0 siblings, 0 replies; 860+ messages in thread
From: Jeroen Roovers @ 2016-10-15 6:14 UTC (permalink / raw
To: gentoo-commits
commit: c5eaaaaf1723199a9403a28db01d40a5c39683fc
Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 15 06:13:50 2016 +0000
Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Oct 15 06:14:09 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5eaaaaf
sys-devel/llvm: Stable for PPC64 (bug #564402).
Package-Manager: portage-2.3.2
RepoMan-Options: --ignore-arches
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 0b98855..a7203b3 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -21,7 +21,7 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-24 4:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-24 4:23 UTC (permalink / raw
To: gentoo-commits
commit: b982ef59fd0ae23400503bd3fe197a5659df8569
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 24 04:22:14 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 24 04:22:28 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b982ef59
sys-devel/llvm: Revbump 3.9 due to changes while masked
sys-devel/llvm/{llvm-3.9.0.ebuild => llvm-3.9.0-r1.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-3.9.0.ebuild
rename to sys-devel/llvm/llvm-3.9.0-r1.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-10-27 9:28 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-10-27 9:28 UTC (permalink / raw
To: gentoo-commits
commit: 22e688fa08a12161df1d2366759446a993923562
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 08:23:22 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 09:28:20 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22e688fa
sys-devel/llvm: Add missing licenses, #598106
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 11 ++++++++++-
sys-devel/llvm/llvm-3.5.0.ebuild | 15 +++++++++++++--
sys-devel/llvm/llvm-3.5.2.ebuild | 16 ++++++++++++++--
sys-devel/llvm/llvm-3.6.2.ebuild | 16 ++++++++++++++--
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 14 +++++++++++++-
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 14 +++++++++++++-
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 12 +++++++++++-
sys-devel/llvm/llvm-3.8.1.ebuild | 14 +++++++++++++-
sys-devel/llvm/llvm-3.9.0-r1.ebuild | 11 ++++++++++-
sys-devel/llvm/llvm-9999.ebuild | 11 ++++++++++-
10 files changed, 121 insertions(+), 13 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 2b6c123..1eaee32 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -15,7 +15,16 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
https://dev.gentoo.org/~mgorny/dist/${PN}-3.4-manpages.tar.bz2"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend (disabled): ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not installed): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain"
SLOT="0/3.4"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang +libffi"
diff --git a/sys-devel/llvm/llvm-3.5.0.ebuild b/sys-devel/llvm/llvm-3.5.0.ebuild
index 90e7808..9751635 100644
--- a/sys-devel/llvm/llvm-3.5.0.ebuild
+++ b/sys-devel/llvm/llvm-3.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -17,7 +17,18 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not installed): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/3.5"
KEYWORDS="amd64 arm ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index 62acb5a..635a920 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -17,7 +17,19 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not installed): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ arm64? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/3.5"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 72511d2..f0bdc1d 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -17,7 +17,19 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.6.1-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not installed): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ arm64? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/3.6"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index a7203b3..3cc7292 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -19,7 +19,19 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not used): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ arm64? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
index e457200..c1a32cf 100644
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -19,7 +19,19 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not used): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ arm64? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index 62662f7..fed4c4e 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -19,7 +19,17 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not used): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ multitarget? ( LLVM-Grant )"
SLOT="0/3.8.0"
KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index dee841f..6c748a1 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -19,7 +19,19 @@ SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not used): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ arm? ( LLVM-Grant )
+ arm64? ( LLVM-Grant )
+ multitarget? ( LLVM-Grant )"
SLOT="0/3.8.0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
diff --git a/sys-devel/llvm/llvm-3.9.0-r1.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
index 91712b5..212bac8 100644
--- a/sys-devel/llvm/llvm-3.9.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
@@ -26,7 +26,16 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Mips MSP430
NVPTX PowerPC Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 1367ddd..78bca66 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -23,7 +23,16 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LICENSE="UoI-NCSA"
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV%.*}"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi multitarget ncurses ocaml test
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-11 8:42 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-11 8:42 UTC (permalink / raw
To: gentoo-commits
commit: 45a34ff2cba0406b9a4d46585523a3763671695f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 11 08:37:50 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 08:42:42 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45a34ff2
sys-devel/llvm: Enable RISCV target on -9999
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 78bca66..711950f 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -20,7 +20,7 @@ EGIT_REPO_URI="http://llvm.org/git/llvm.git
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
+ NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-12 7:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-12 7:52 UTC (permalink / raw
To: gentoo-commits
commit: 5124eaefca18169b27a4e8461f72e2a8783536d3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 11 20:35:46 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 07:52:07 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5124eaef
sys-devel/llvm: Avoid cross-phase function calls, #596644
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.5.0.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.5.2.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.6.2.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.8.1.ebuild | 8 ++++++--
sys-devel/llvm/llvm-3.9.0-r1.ebuild | 8 ++++++--
sys-devel/llvm/llvm-9999.ebuild | 8 ++++++--
10 files changed, 60 insertions(+), 20 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 1eaee32..9739437 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -48,7 +48,7 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
S=${WORKDIR}/${P}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -74,8 +74,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.5.0.ebuild b/sys-devel/llvm/llvm-3.5.0.ebuild
index 9751635..d4bb3a2 100644
--- a/sys-devel/llvm/llvm-3.5.0.ebuild
+++ b/sys-devel/llvm/llvm-3.5.0.ebuild
@@ -85,7 +85,7 @@ S=${WORKDIR}/${P}.src
# so why did it call itself ninja in the first place?
CMAKE_MAKEFILE_GENERATOR=emake
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -133,8 +133,12 @@ pkg_pretend() {
fi
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index 635a920..303f969 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -87,7 +87,7 @@ S=${WORKDIR}/${P}.src
# so why did it call itself ninja in the first place?
CMAKE_MAKEFILE_GENERATOR=emake
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -135,8 +135,12 @@ pkg_pretend() {
fi
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index f0bdc1d..5c2cbb2 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -91,7 +91,7 @@ S=${WORKDIR}/${P/_}.src
# so why did it call itself ninja in the first place?
CMAKE_MAKEFILE_GENERATOR=emake
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -139,8 +139,12 @@ pkg_pretend() {
fi
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 3cc7292..b341cc2 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -89,7 +89,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
S=${WORKDIR}/${P/_}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -125,8 +125,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
index c1a32cf..eb10e61 100644
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
@@ -90,7 +90,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
S=${WORKDIR}/${P/_}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -126,8 +126,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index fed4c4e..439485f 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -89,7 +89,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
S=${WORKDIR}/${P/_}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -125,8 +125,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index 6c748a1..de7426a 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -90,7 +90,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
S=${WORKDIR}/${P/_}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -126,8 +126,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-3.9.0-r1.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
index 212bac8..7faa108 100644
--- a/sys-devel/llvm/llvm-3.9.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
@@ -102,7 +102,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
S=${WORKDIR}/${P/_}.src
-pkg_pretend() {
+check_space() {
# in megs
# !clang !debug !multitarget -O2 400
# !clang !debug multitarget -O2 550
@@ -138,8 +138,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_unpack() {
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 711950f..1a43cd4 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -73,7 +73,7 @@ python_check_deps() {
|| has_version "dev-python/lit[${PYTHON_USEDEP}]"
}
-pkg_pretend() {
+check_space() {
# in megs
# !debug !multitarget -O2 400
# !debug multitarget -O2 550
@@ -103,8 +103,12 @@ pkg_pretend() {
check-reqs_pkg_pretend
}
+pkg_pretend() {
+ check_space
+}
+
pkg_setup() {
- pkg_pretend
+ check_space
}
src_prepare() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-12 9:59 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2016-11-12 9:59 UTC (permalink / raw
To: gentoo-commits
commit: 3b14f3c37cae3042dfb8d309a3582de99f6fc1ea
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 09:59:18 2016 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 09:59:18 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b14f3c3
sys-devel/llvm: ppc stable wrt bug #564402
Package-Manager: portage-2.3.0
RepoMan-Options: --include-arches="ppc"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index b341cc2..af7dce6 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-12 10:50 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-12 10:50 UTC (permalink / raw
To: gentoo-commits
commit: 831d87216d5547ba2a5c233412ae183ce1a423e2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 09:22:01 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 10:50:42 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=831d8721
sys-devel/llvm: Remove interim 3.8.0 version
sys-devel/llvm/Manifest | 5 -
sys-devel/llvm/llvm-3.8.0-r3.ebuild | 553 ------------------------------------
2 files changed, 558 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 37b5d6f..3e8455f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,14 +3,12 @@ DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d258
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
-DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3
DIST cfe-3.8.1.src.tar.xz 9605548 SHA256 4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf SHA512 72d23a410271b50f97371b13dd7a6c6c5c0a993e35df436ab716ece8521d83406aa3d4bf8fdecd8154139f39fd5e011e480d405225d8c3ff152d0a2ac4573e04 WHIRLPOOL 7bcc9e6fed871b7490e2a280f2ad36008150a0af3605357fbe529aea8a7acbbed41c7da273dd150f8f50869cd321f114e909236261c4dd05ed7f644c75f208c4
DIST cfe-3.9.0.src.tar.xz 10390440 SHA256 7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28 SHA512 f405b5819fd19276b2de4da80a51171a3b1c5c00df810e1f284184c693e410775fe2933576f942b881664dd3b75e78f0f15b7e5a3eca7819ffbcfe528d9a578e WHIRLPOOL cb4ff4eaababa3017b4a96548b7fe1dc5f4926bd27dc6de56c3ae1fc450c8af1faf1edea2e909e40289477ebaf79860fca3a9695b22402dc9385031d7b8ad5bf
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
-DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9
DIST clang-tools-extra-3.8.1.src.tar.xz 334768 SHA256 664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396 SHA512 ec8c4a6ac4fd1a0e24fc15e56ba00828e0d718c2f7bd477ea134ab094c67f4f4b2f603f128ec11a03b7f25f3e9b8fe75181e40730c56b7b683f54e3f37573137 WHIRLPOOL b05213cbe21b778e718233cecbf4d01b92c1f133eced6fdd3fa5059c4b10e5f0407549634f65032af177ba1614250f5c02e283c2b03563db3e227b1afcae424b
DIST clang-tools-extra-3.9.0.src.tar.xz 455144 SHA256 5b7aec46ec8e999ec683c87ad744082e1133781ee4b01905b4bdae5d20785f14 SHA512 7d5f8d3b44e45022db65434f4d141f23706edf6aa9f3c28ded43e84e85c7c4878ffe98bf15f71e4c71fd176dfc49ce5180892d710bc5eccf95de1ed12f3c8074 WHIRLPOOL 44863889eaa33face00b9644f5c1465446bec39f88bc5ea32835dfa091a83161e292c2b3bcdcccb7cb34cdc3f1970bb3bbfbf6918c425b11a1465bedc3e0611f
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
@@ -18,11 +16,9 @@ DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db34
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325 WHIRLPOOL 0bea047e48622884a6fc6bb3826046e9de5b3192006cc41c0ccd9d6c611674869c3c15988b531a0f7d9fea2cf951b90ecef385b85db765c6f99a48692fdcf223
-DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5
DIST compiler-rt-3.8.1.src.tar.xz 1263312 SHA256 0df011dae14d8700499dfc961602ee0a9572fef926202ade5dcdfe7858411e5c SHA512 bed3da5f8594c4bf71af406419fbeaf7ed5d8bf46adb305233a298271d34a9af1072bcb47d474ac19bb862cc7c7bc9e1d89bc1567133553f29480030cad1cf75 WHIRLPOOL 950de96c57461c51ee9857dd56a858876f6bdb09f44ea1ec96c6f113d3499f5f3ddb90e86a8a6b50460577e1b4857da3dd6024eb3427d837630a2c4c678c360a
DIST compiler-rt-3.9.0.src.tar.xz 1379960 SHA256 e0e5224fcd5740b61e416c549dd3dcda92f10c524216c1edb5e979e42078a59a SHA512 8d15c0315d7a89d9336e0ae4b72775d0815a8e7d962056645e1d0c6a23759bb2d8133c9ad2164e181f017641e8a184a062fbc876a371b81d5b1c2626405f6616 WHIRLPOOL 7279962a7dfaf7bb733b9f361ade776678d5b8bafc520d6fc086c043154f1b9299b8c18d1721112982b52158eccdb549542327122a174ce9b86d39cfb2d39837
DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
-DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049
DIST lldb-3.8.1.src.tar.xz 10928220 SHA256 349148116a47e39dcb5d5042f10d8a6357d2c865034563283ca512f81cdce8a3 SHA512 d73c55daed6ef5e5ca784c7010f2d75be26024b14fa61a2861a8a6cbe129e417fb7be2a3b532e17e9d7de98ae38ce6a689d8166049eff365fb04f4bd772758f3 WHIRLPOOL 78dd8161cd1411bd62cb3ffe1196fe95ccb73d78f2e141a58c63776eb6d91065fe1348b1b8e241630cdf954ab659b333ebbcdcaeba3e6df36af62aaf3a7c6634
DIST lldb-3.9.0.src.tar.xz 13754516 SHA256 61280e07411e3f2b4cca0067412b39c16b0a9edd19d304d3fc90249899d12384 SHA512 b2d7f36b4462dba8e478022da19981e2d029bc4728efeed50600f0d03e3dd4573e7fb3cee773ec19b11ad3d8ba53b1aef9de1b21612e77d2888d0f6de433b24a WHIRLPOOL 6df1ea72ae76826e318a8602105203e6456a3dd7277a3080f3d5a32958c539e34922a178e0ea32440744a5b76029eb50032eb0de2288762490b67709da89dbf1
DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6
@@ -35,7 +31,6 @@ DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f055
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70
DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676
-DIST llvm-3.8.0.src.tar.xz 16580932 SHA256 555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46 SHA512 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138 WHIRLPOOL f7219f3324080f22158b08eb23b5b545d303090d0bb8cde6ee971da829dd52837832a127792b153006568e0c7c0163c1095d1e258600f4359df347148e965b94
DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9 SHA512 99bbb2cc5f337fd5edf1621f8028c8cb74011aa4af2531018dc05409b27f7b8d0c2f76a00115f677f7c013029d5d9f55d085a5b40433409aac4e9161d53bd366 WHIRLPOOL a99cef164a0e05e5237b840bee776d48fe0bde460cb4536f03a5e4eb0cc630deeb96f76bdd42f912a4b2dab08133bd9137ea16be1b9582d375f0f5841dd40234
DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
diff --git a/sys-devel/llvm/llvm-3.8.0-r3.ebuild b/sys-devel/llvm/llvm-3.8.0-r3.ebuild
deleted file mode 100644
index eb10e61..00000000
--- a/sys-devel/llvm/llvm-3.8.0-r3.ebuild
+++ /dev/null
@@ -1,553 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not used): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- arm? ( LLVM-Grant )
- arm64? ( LLVM-Grant )
- multitarget? ( LLVM-Grant )"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- lldb? ( dev-python/six[${PYTHON_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${FILESDIR}"/3.9.0/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${FILESDIR}"/3.9.0/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${FILESDIR}"/3.9.0/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${FILESDIR}"/3.9.0/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- eapply "${FILESDIR}"/3.8.1/0005-cmake-Do-not-install-libgtest.patch
-
- # Allow custom cmake build types (like 'Gentoo')
- eapply "${FILESDIR}"/9999/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/3.8.1/llvm-config.patch
-
- # Restore SOVERSIONs for shared libraries
- # https://bugs.gentoo.org/show_bug.cgi?id=578392
- eapply "${FILESDIR}"/3.8.1/0008-cmake-Restore-SOVERSIONs-on-shared-libraries.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${FILESDIR}"/3.9.0/clang/gentoo-runtime-gcc-detection-v3.patch
-
- # Support gcc4.9 search paths
- # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3
- eapply "${FILESDIR}"/3.8.1/clang/gcc4.9-search-path.patch
-
- eapply "${FILESDIR}"/3.9.0/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${FILESDIR}"/3.9.0/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${FILESDIR}"/3.8.1/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- eapply "${FILESDIR}"/3.8.1/compiler-rt/arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${FILESDIR}"/3.9.0/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- # Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064
- # https://llvm.org/bugs/show_bug.cgi?id=26651
- eapply "${FILESDIR}"/3.8.1/compiler-rt/fbsd.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- # Do not install bundled six module
- eapply "${FILESDIR}"/3.9.0/lldb/six.patch
- fi
-
- # User patches
- eapply_user
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
- )
-
- if use clang; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang && ! has_version 'sys-libs/libomp'; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-12 14:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-12 14:41 UTC (permalink / raw
To: gentoo-commits
commit: c5e1ca1d60feaecdda3eb249b43fd3a638c4007f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 14:39:37 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 14:41:06 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5e1ca1d
sys-devel/llvm: Remove OCaml (now in dev-ml/llvm-ocaml)
sys-devel/llvm/llvm-9999.ebuild | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 1a43cd4..0812bdd 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV%.*}"
KEYWORDS=""
-IUSE="debug +doc gold libedit +libffi multitarget ncurses ocaml test
+IUSE="debug +doc gold libedit +libffi multitarget ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
@@ -43,10 +43,7 @@ RDEPEND="
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/ocaml-ctypes:= )"
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -58,8 +55,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- ocaml? ( dev-ml/findlib
- test? ( dev-ml/ounit ) )
test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
@@ -164,13 +159,11 @@ multilib_src_configure() {
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-DHAVE_HISTEDIT_H=$(usex libedit)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
)
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
# Note: go bindings have no CMake rules at the moment
# but let's kill the check in case they are introduced
# if ! multilib_is_native_abi || ! use go; then
@@ -186,11 +179,6 @@ multilib_src_configure() {
if multilib_is_native_abi; then
mycmakeargs+=(
-DLLVM_BUILD_DOCS=$(usex doc)
- # note: this is used only when OCaml is enabled, so we can
- # set it to 'yes' even without OCaml around
- # note 2: disable for now since it installs
- # to /usr/docs/ocaml/html/html which is kinda wrong
- # bother to fix it when somebody starts to care
-DLLVM_ENABLE_OCAMLDOC=OFF
-DLLVM_ENABLE_SPHINX=$(usex doc)
-DLLVM_ENABLE_DOXYGEN=OFF
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-18 5:13 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-18 5:13 UTC (permalink / raw
To: gentoo-commits
commit: 749967d9e0d292966c30957ca5cd970e36ba7316
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 18 04:55:01 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 18 05:13:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=749967d9
sys-devel/llvm: Switch to newly-added LLVM_ENABLE_LIBEDIT
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 0812bdd..b45604a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -146,6 +146,7 @@ multilib_src_configure() {
-DLLVM_BUILD_TESTS=$(usex test)
-DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
@@ -158,7 +159,6 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- -DHAVE_HISTEDIT_H=$(usex libedit)
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-20 6:58 Patrick Lauer
0 siblings, 0 replies; 860+ messages in thread
From: Patrick Lauer @ 2016-11-20 6:58 UTC (permalink / raw
To: gentoo-commits
commit: 5aae8a14e30b7977021307f39274e2b37733d668
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 20 06:56:19 2016 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Nov 20 06:56:19 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5aae8a14
sys-devel/llvm: Whitespace
Package-Manager: portage-2.3.2
sys-devel/llvm/llvm-9999.ebuild | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index b45604a..a89a1d2 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -159,7 +159,6 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-11-27 11:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2016-11-27 11:00 UTC (permalink / raw
To: gentoo-commits
commit: 9b6a28286598c4d44b14dd3f269057330834b3b7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 27 10:52:23 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 27 11:00:09 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b6a2828
sys-devel/llvm: Respect toolchain-funcs pkg-config override, #600622
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 2 +-
sys-devel/llvm/llvm-3.5.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.6.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1.ebuild | 4 ++--
sys-devel/llvm/llvm-3.9.0-r1.ebuild | 4 ++--
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
8 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 9739437..56a9d13 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -174,7 +174,7 @@ multilib_src_configure() {
if use libffi; then
local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
+ append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
fi
# llvm prefers clang over gcc, so we may need to force that
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index 303f969..762055b 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -259,7 +259,7 @@ multilib_src_configure() {
if use libffi; then
local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
+ append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
fi
# llvm prefers clang over gcc, so we may need to force that
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 5c2cbb2..9cd4302 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -266,7 +266,7 @@ multilib_src_configure() {
if use libffi; then
local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$(pkg-config --cflags libffi)"
+ append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
fi
# Enable large file support, bug #550708
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index af7dce6..ac91baf 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -275,8 +275,8 @@ multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
local libdir=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index 439485f..53dd910 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -280,8 +280,8 @@ multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
local libdir=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index de7426a..07d910b 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -265,8 +265,8 @@ multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
local libdir=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-3.9.0-r1.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
index 7faa108..23505b9 100644
--- a/sys-devel/llvm/llvm-3.9.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
@@ -259,8 +259,8 @@ src_prepare() {
multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
local libdir=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index a89a1d2..94c3a7d 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -133,8 +133,8 @@ src_prepare() {
multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
- ffi_cflags=$(pkg-config --cflags-only-I libffi)
- ffi_ldflags=$(pkg-config --libs-only-L libffi)
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
local libdir=$(get_libdir)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2016-12-20 10:19 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2016-12-20 10:19 UTC (permalink / raw
To: gentoo-commits
commit: c212711ece504503ea7044e4187d43a1b2d2358b
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 10:17:48 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 10:19:32 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c212711e
sys-devel/llvm: add back *-macos keyword on 3.9
Package-Manager: portage-2.3.0
sys-devel/llvm/llvm-3.9.0-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.9.0-r1.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
index 23505b9..65d153e 100644
--- a/sys-devel/llvm/llvm-3.9.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
@@ -37,7 +37,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-14 18:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-14 18:14 UTC (permalink / raw
To: gentoo-commits
commit: 8eb754cb5cf940e5370bd11a23335418df89f81b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 14 14:06:18 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 14 18:12:24 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eb754cb
sys-devel/llvm: Update SLOT for new scheme, use versionator
sys-devel/llvm/llvm-9999.ebuild | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 16e670c..93b2409 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -10,7 +10,7 @@ CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils flag-o-matic git-r3 \
- multilib-minimal pax-utils python-any-r1 toolchain-funcs
+ multilib-minimal pax-utils python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="0/${PV%.*}"
+SLOT="0/$(get_major_version)"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi multitarget ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
@@ -51,7 +51,7 @@ DEPEND="${RDEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-19 9:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-19 9:14 UTC (permalink / raw
To: gentoo-commits
commit: bc05fc1a2a68b8506d26abd37fccfbdc9910a120
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 18 20:10:58 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 19 09:14:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc05fc1a
sys-devel/llvm: Git snapshot of 4.0.0rc1
sys-devel/llvm/{llvm-9999.ebuild => llvm-4.0.0_rc1.ebuild} | 4 +++-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
similarity index 97%
copy from sys-devel/llvm/llvm-9999.ebuild
copy to sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index 93b2409..bbd935a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -17,6 +17,8 @@ HOMEPAGE="http://llvm.org/"
SRC_URI=""
EGIT_REPO_URI="http://llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
+EGIT_BRANCH="release_40"
+EGIT_COMMIT="c329efbc3c94928fb826ed146897aada0459c983"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -55,7 +57,7 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+ test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 93b2409..e4db58a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -55,7 +55,7 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+ test? ( $(python_gen_any_dep "'~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-19 18:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-19 18:37 UTC (permalink / raw
To: gentoo-commits
commit: 9dbb119151822a03f6d42e0369df317408152f83
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 19 18:35:49 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 19 18:37:17 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dbb1191
sys-devel/llvm: Fix dependency syntax in -9999, #606532
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e4db58a..a66f1e1 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -55,7 +55,7 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "'~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
+ test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-23 21:36 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-23 21:36 UTC (permalink / raw
To: gentoo-commits
commit: 4ddd0a5aaa862839547bfedf459acb326fa977e8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 23 19:33:00 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 23 21:36:07 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ddd0a5a
sys-devel/llvm: Force x86 CHOST to i386-* for compiler-rt compat
Force x86 CHOST value to be i386-* since clang uses the exact arch value
to find compiler-rt libraries, and our compiler-rt libraries are named
'i386' unconditionally. It should still be able to find gcc install by
using alternate triple aliases.
sys-devel/llvm/llvm-4.0.0_rc1.ebuild | 5 ++++-
sys-devel/llvm/llvm-9999.ebuild | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index bbd935a..ab685cb 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -156,7 +156,10 @@ multilib_src_configure() {
-DWITH_POLLY=OFF # TODO
- -DLLVM_HOST_TRIPLE="${CHOST}"
+ # 'normalize' x86 triples to i386-* since this is the name used
+ # by compiler-rt libraries.
+ # remove this when https://reviews.llvm.org/D26796 is merged
+ -DLLVM_HOST_TRIPLE="${CHOST/#i[4-9]86-/i386-}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index a66f1e1..49c65e2 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -154,7 +154,10 @@ multilib_src_configure() {
-DWITH_POLLY=OFF # TODO
- -DLLVM_HOST_TRIPLE="${CHOST}"
+ # 'normalize' x86 triples to i386-* since this is the name used
+ # by compiler-rt libraries.
+ # remove this when https://reviews.llvm.org/D26796 is merged
+ -DLLVM_HOST_TRIPLE="${CHOST/#i[4-9]86-/i386-}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-24 9:31 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-24 9:31 UTC (permalink / raw
To: gentoo-commits
commit: c036cf30ae425fe029f832de5e7604bc426e1f82
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 09:30:25 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 09:31:04 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c036cf30
sys-devel/llvm: Revert "Force x86 CHOST to i386-* [...]"
Revert the CHOST adjustment since it solves the issue only partially.
sys-devel/llvm/llvm-4.0.0_rc1.ebuild | 5 +----
sys-devel/llvm/llvm-9999.ebuild | 5 +----
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index ab685cb..bbd935a 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -156,10 +156,7 @@ multilib_src_configure() {
-DWITH_POLLY=OFF # TODO
- # 'normalize' x86 triples to i386-* since this is the name used
- # by compiler-rt libraries.
- # remove this when https://reviews.llvm.org/D26796 is merged
- -DLLVM_HOST_TRIPLE="${CHOST/#i[4-9]86-/i386-}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 49c65e2..a66f1e1 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -154,10 +154,7 @@ multilib_src_configure() {
-DWITH_POLLY=OFF # TODO
- # 'normalize' x86 triples to i386-* since this is the name used
- # by compiler-rt libraries.
- # remove this when https://reviews.llvm.org/D26796 is merged
- -DLLVM_HOST_TRIPLE="${CHOST/#i[4-9]86-/i386-}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-24 19:08 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-24 19:08 UTC (permalink / raw
To: gentoo-commits
commit: 51aa1ee211fea429c7229fe1c8d3f4c1ba157262
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 17:39:15 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 19:07:50 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51aa1ee2
sys-devel/llvm: Switch 4.0.0rc1 to tarballs, add keywords
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-4.0.0_rc1.ebuild | 12 +++++-------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 57252b5..1ef0a38 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,3 +35,4 @@ DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406
DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
+DIST llvm-4.0.0rc1.src.tar.xz 20996760 SHA256 ccbff3a7af78efc12b5b7f749d184b4c8caf75621af4e05f640cbfa9f80f8604 SHA512 10b6fee561b9307490d5f20ce70b7e0099bd405e56c8330be9aa04673f39dbd712833e357a577a5106819336a1957dd73d288bbdd35286d56305d14d237dfd3d WHIRLPOOL 8559852df5d036a4d86a4555bcbeaab6bbb3b5e9cad9daa8c0f5e934e4fb7235bc05df55e09d38eb4d90832036d8b9f5b1ff8108e7d5ea01c86b00eecc0a3d13
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index bbd935a..55dad9f 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -9,16 +9,12 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit check-reqs cmake-utils flag-o-matic git-r3 \
+inherit check-reqs cmake-utils flag-o-matic \
multilib-minimal pax-utils python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="http://llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
-EGIT_BRANCH="release_40"
-EGIT_COMMIT="c329efbc3c94928fb826ed146897aada0459c983"
+SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -36,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/$(get_major_version)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="debug +doc gold libedit +libffi multitarget ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
@@ -65,6 +61,8 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )
multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
+S=${WORKDIR}/${P/_/}.src
+
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-28 20:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-28 20:00 UTC (permalink / raw
To: gentoo-commits
commit: 7cc837dcc38c77d6d092927adb1c6d4fa646b3c3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 19:59:02 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 20:00:37 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cc837dc
sys-devel/llvm: Drop unused NATIVE_LIBDIR variable
sys-devel/llvm/llvm-4.0.0_rc1.ebuild | 3 ---
sys-devel/llvm/llvm-9999.ebuild | 3 ---
2 files changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index 55dad9f..38ae821 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -125,9 +125,6 @@ src_prepare() {
# User patches
eapply_user
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
}
multilib_src_configure() {
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index a66f1e1..964f62d 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -125,9 +125,6 @@ src_prepare() {
# User patches
eapply_user
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
}
multilib_src_configure() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-29 12:46 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-01-29 12:46 UTC (permalink / raw
To: gentoo-commits
commit: 2d83989e5fdda9d1ce9002d885aa4364a1153afb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 29 12:45:40 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 29 12:46:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d83989e
sys-devel/llvm: Remove old doc install code
sys-devel/llvm/llvm-4.0.0_rc1.ebuild | 3 ---
sys-devel/llvm/llvm-9999.ebuild | 3 ---
2 files changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
index 38ae821..41f58e4 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc1.ebuild
@@ -237,9 +237,6 @@ multilib_src_install() {
cmake-utils_src_install
if multilib_is_native_abi; then
- # Install docs.
- #use doc && dohtml -r "${S}"/docs/_build/html/
-
# Symlink the gold plugin.
if use gold; then
dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 964f62d..71c41a0 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -237,9 +237,6 @@ multilib_src_install() {
cmake-utils_src_install
if multilib_is_native_abi; then
- # Install docs.
- #use doc && dohtml -r "${S}"/docs/_build/html/
-
# Symlink the gold plugin.
if use gold; then
dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-01-29 20:14 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2017-01-29 20:14 UTC (permalink / raw
To: gentoo-commits
commit: 6bc79f4676abf75dbb0f5cd13db77b25961879c4
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 29 20:06:30 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jan 29 20:13:55 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bc79f46
sys-devel/llvm: dropped ~x64-freebsd
Package-Manager: portage-2.3.3
sys-devel/llvm/llvm-3.5.2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.6.2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1.ebuild | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index d9468a8..d8cf084 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -31,7 +31,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.5"
-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"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 27ad004..0c4013e 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -31,7 +31,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index edebcba..a594b6a 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index 86a8fe9..16e0de3 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.8.0"
-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"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-02-07 5:45 Johannes Huber
0 siblings, 0 replies; 860+ messages in thread
From: Johannes Huber @ 2017-02-07 5:45 UTC (permalink / raw
To: gentoo-commits
commit: e42d11a60127f27ab61f4675ec1ea407295e018b
Author: Johannes Huber <johu <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 6 21:34:11 2017 +0000
Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Tue Feb 7 05:45:05 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e42d11a6
sys-devel/llvm: Drop CMAKE_MIN_VERSION for 3.9
Value covered by eclass.
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sys-devel/llvm/llvm-3.9.0-r1.ebuild | 4 +---
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 4 +---
sys-devel/llvm/llvm-3.9.1.ebuild | 4 +---
3 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.0-r1.ebuild b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
index f33c557..6035f31 100644
--- a/sys-devel/llvm/llvm-3.9.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.0-r1.ebuild
@@ -1,12 +1,10 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to lib32 find_library fix)
-CMAKE_MIN_VERSION=3.6.1-r1
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils eutils flag-o-matic multilib \
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index 5bae5d3..d6cae9d 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -1,12 +1,10 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to lib32 find_library fix)
-CMAKE_MIN_VERSION=3.6.1-r1
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils eutils flag-o-matic multilib \
diff --git a/sys-devel/llvm/llvm-3.9.1.ebuild b/sys-devel/llvm/llvm-3.9.1.ebuild
index c24c19f..b804be6 100644
--- a/sys-devel/llvm/llvm-3.9.1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1.ebuild
@@ -1,12 +1,10 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to lib32 find_library fix)
-CMAKE_MIN_VERSION=3.6.1-r1
PYTHON_COMPAT=( python2_7 )
inherit check-reqs cmake-utils eutils flag-o-matic multilib \
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-02-15 12:47 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-02-15 12:47 UTC (permalink / raw
To: gentoo-commits
commit: 99c50f7da9405206ddeb67ff65fa654c12cce12b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 14 20:38:06 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 15 12:47:27 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c50f7d
sys-devel/llvm: Bump to 4.0.0.rc2
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/{llvm-4.0.0_rc1-r1.ebuild => llvm-4.0.0_rc2.ebuild} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1ef0a38995..c8ac0e27db 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,4 +35,4 @@ DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406
DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
-DIST llvm-4.0.0rc1.src.tar.xz 20996760 SHA256 ccbff3a7af78efc12b5b7f749d184b4c8caf75621af4e05f640cbfa9f80f8604 SHA512 10b6fee561b9307490d5f20ce70b7e0099bd405e56c8330be9aa04673f39dbd712833e357a577a5106819336a1957dd73d288bbdd35286d56305d14d237dfd3d WHIRLPOOL 8559852df5d036a4d86a4555bcbeaab6bbb3b5e9cad9daa8c0f5e934e4fb7235bc05df55e09d38eb4d90832036d8b9f5b1ff8108e7d5ea01c86b00eecc0a3d13
+DIST llvm-4.0.0rc2.src.tar.xz 21005416 SHA256 2257faed3795fedfc509d6dd5905be158231c508c6fcaaa02e4a09c5e8dadbe1 SHA512 537356226123b8c9454ec3dfc3adbfb13cfa4bd35f530b85f2b3242391ea1fbd9abf65dfbb62db533e6eae4c9049bb260fb21dccfeb7e355306f4621d35474b7 WHIRLPOOL d79f343ca00c60dd49a3ada4808e779c45210ab03e365e614563b54879ac72b7e80b4022641db10ad2075a0d417ba7c182f9d3abf8c6b012622c0d1541a7dc69
diff --git a/sys-devel/llvm/llvm-4.0.0_rc1-r1.ebuild b/sys-devel/llvm/llvm-4.0.0_rc2.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-4.0.0_rc1-r1.ebuild
rename to sys-devel/llvm/llvm-4.0.0_rc2.ebuild
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-02-25 7:54 Markus Meier
0 siblings, 0 replies; 860+ messages in thread
From: Markus Meier @ 2017-02-25 7:54 UTC (permalink / raw
To: gentoo-commits
commit: 41f4e432edb8fe507131e1ab6a21a78b2c638c9b
Author: Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 25 07:50:44 2017 +0000
Commit: Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Sat Feb 25 07:50:44 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41f4e432
sys-devel/llvm: add ~arm64, bug #591822
Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="arm64"
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index d6cae9d5a7..985ad79121 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-03-06 22:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-03-06 22:18 UTC (permalink / raw
To: gentoo-commits
commit: edf334b018578d23ef58140b3cb0168753325198
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 6 16:37:10 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 6 22:18:13 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=edf334b0
sys-devel/llvm: Bump to 4.0.0rc3
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/{llvm-4.0.0_rc2.ebuild => llvm-4.0.0_rc3.ebuild} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c8ac0e27db3..2491366e0e6 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,4 +35,4 @@ DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406
DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
-DIST llvm-4.0.0rc2.src.tar.xz 21005416 SHA256 2257faed3795fedfc509d6dd5905be158231c508c6fcaaa02e4a09c5e8dadbe1 SHA512 537356226123b8c9454ec3dfc3adbfb13cfa4bd35f530b85f2b3242391ea1fbd9abf65dfbb62db533e6eae4c9049bb260fb21dccfeb7e355306f4621d35474b7 WHIRLPOOL d79f343ca00c60dd49a3ada4808e779c45210ab03e365e614563b54879ac72b7e80b4022641db10ad2075a0d417ba7c182f9d3abf8c6b012622c0d1541a7dc69
+DIST llvm-4.0.0rc3.src.tar.xz 21013952 SHA256 6727c98f436581adc6b8f9c2ad055d8e27832f60a127e97b3451eba85ef28345 SHA512 a64eaf59388be6641b6d654ceddd63232f83ad50226204255a0c9bcc3d1b36470f7acbf43615b2bd9758cd6077f55fc6155803a12947e1bd2be5661e1ff07e4a WHIRLPOOL 7aef4913c8a33ff0e35670063cb26ddd5d7b72cb08c699116dd93c72f25b6b75187bdf6bfd63b3d3b5c964c118c2db71893024524b864412f4f8daa594be7faa
diff --git a/sys-devel/llvm/llvm-4.0.0_rc2.ebuild b/sys-devel/llvm/llvm-4.0.0_rc3.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-4.0.0_rc2.ebuild
rename to sys-devel/llvm/llvm-4.0.0_rc3.ebuild
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-03-07 15:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-03-07 15:58 UTC (permalink / raw
To: gentoo-commits
commit: c89153c4c0afe9f7b8997e17e7f79a7c6bbe8232
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 7 15:37:08 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 7 15:58:18 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c89153c4
sys-devel/llvm: Remove USE=multitarget for 4+
The USE=multitarget is used only by three packages in Gentoo:
- old versions of dev-lang/rust that do not support new LLVM versions,
- old versions of dev-python/llvmlite that do not support new LLVM
versions,
- sys-devel/clang metapackage.
Since it is only an irritating REQUIRED_USE backwards compatbility knob,
and it is no longer needed for dependencies, remove it.
sys-devel/llvm/llvm-4.0.0_rc3.ebuild | 5 ++---
sys-devel/llvm/llvm-9999.ebuild | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0_rc3.ebuild b/sys-devel/llvm/llvm-4.0.0_rc3.ebuild
index 531baa47636..56a76a6aeb9 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0_rc3.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="debug +doc gold libedit +libffi multitarget ncurses test
+IUSE="debug +doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
@@ -63,8 +63,7 @@ PDEPEND="app-vim/llvm-vim
gold? ( sys-devel/llvmgold )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )
- multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
+ || ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 5e54cffe1bc..cdba7b1daf4 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -34,7 +34,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="5"
KEYWORDS=""
-IUSE="debug +doc gold libedit +libffi multitarget ncurses test
+IUSE="debug +doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
@@ -65,8 +65,7 @@ PDEPEND="app-vim/llvm-vim
gold? ( sys-devel/llvmgold )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )
- multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
+ || ( ${ALL_LLVM_TARGETS[*]} )"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-03-13 17:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-03-13 17:37 UTC (permalink / raw
To: gentoo-commits
commit: f1a0aa52684995c0676cbdb83ad86dd1eefb19a7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 13 17:08:34 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 13 17:37:13 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1a0aa52
sys-devel/llvm: Bump to 4.0.0 final
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/{llvm-4.0.0_rc3.ebuild => llvm-4.0.0.ebuild} | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 2491366e0e6..7766ec3864b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,4 +35,4 @@ DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406
DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 SHA512 f18ae32531218ab156c3e56c11826be0fd05f0799c82eaf2e6a043b38e1277560b4d921987513b88b11d97ea2619feaf277eec72181dd2ae4f4108c2836bf7b2 WHIRLPOOL a36c1bcee6e7995067a9a7a51e3fdb0f10d51d0239250eefab92ed2e46b024a203fa10a17a25a5aca69046bcb413628e288427f1a6690d0862e07cd95694c8a8
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
-DIST llvm-4.0.0rc3.src.tar.xz 21013952 SHA256 6727c98f436581adc6b8f9c2ad055d8e27832f60a127e97b3451eba85ef28345 SHA512 a64eaf59388be6641b6d654ceddd63232f83ad50226204255a0c9bcc3d1b36470f7acbf43615b2bd9758cd6077f55fc6155803a12947e1bd2be5661e1ff07e4a WHIRLPOOL 7aef4913c8a33ff0e35670063cb26ddd5d7b72cb08c699116dd93c72f25b6b75187bdf6bfd63b3d3b5c964c118c2db71893024524b864412f4f8daa594be7faa
+DIST llvm-4.0.0.src.tar.xz 21016340 SHA256 8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be SHA512 cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704 WHIRLPOOL 9783e8f47306c1deb2e114d4b46a7db9b0260b4965076345c88765413c5fc8e73fab5f88ae4903adbdea31406022948b16d32ae47d98f5def074509d5d794579
diff --git a/sys-devel/llvm/llvm-4.0.0_rc3.ebuild b/sys-devel/llvm/llvm-4.0.0.ebuild
similarity index 98%
rename from sys-devel/llvm/llvm-4.0.0_rc3.ebuild
rename to sys-devel/llvm/llvm-4.0.0.ebuild
index 56a76a6aeb9..f7f8e7c7456 100644
--- a/sys-devel/llvm/llvm-4.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0.ebuild
@@ -13,7 +13,7 @@ inherit check-reqs cmake-utils flag-o-matic \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
-SRC_URI="http://www.llvm.org/pre-releases/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-03-25 0:45 Matt Turner
0 siblings, 0 replies; 860+ messages in thread
From: Matt Turner @ 2017-03-25 0:45 UTC (permalink / raw
To: gentoo-commits
commit: eb8baba3e57f2e060c0be09e6c48fae73a7c1c04
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 24 23:34:25 2017 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 25 00:45:17 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb8baba3
sys-devel/llvm: Drop sparc keywords
sys-devel/llvm/llvm-3.5.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.6.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 2 +-
sys-devel/llvm/llvm-3.8.1.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index cad3ede9cdb..dafbd5aa1f1 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -30,7 +30,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.5"
-KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 3009a9a3f13..4fe633a4eed 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -30,7 +30,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 3687ff9e518..9dae729c867 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index f4ef9a08ff6..a32ead05993 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.8.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-03-25 0:45 Matt Turner
0 siblings, 0 replies; 860+ messages in thread
From: Matt Turner @ 2017-03-25 0:45 UTC (permalink / raw
To: gentoo-commits
commit: 5fd038c745f0e79973ac475bd46be0a7fc8b7426
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 24 23:32:56 2017 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 25 00:45:17 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fd038c7
sys-devel/llvm: Drop ppc/ppc64 keywords
Bug: https://bugs.gentoo.org/613732
Bug: https://bugs.gentoo.org/613734
sys-devel/llvm/llvm-3.5.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.6.2.ebuild | 2 +-
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 2 +-
sys-devel/llvm/llvm-3.8.1.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
index 866573c9ccc..cad3ede9cdb 100644
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2.ebuild
@@ -30,7 +30,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.5"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.6.2.ebuild b/sys-devel/llvm/llvm-3.6.2.ebuild
index 820ce17c45b..3009a9a3f13 100644
--- a/sys-devel/llvm/llvm-3.6.2.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2.ebuild
@@ -30,7 +30,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
+static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index d9bd3a1baab..3687ff9e518 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
index c8106c65ccd..f4ef9a08ff6 100644
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/3.8.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-02 18:01 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2017-04-02 18:01 UTC (permalink / raw
To: gentoo-commits
commit: 0c29b55133cd94c8c9240c123b2149aa22e052ec
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 2 18:01:11 2017 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sun Apr 2 18:01:11 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c29b551
sys-devel/llvm: amd64 stable wrt bug #607660
Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index 7d52871fc68..33e76bb15e4 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -34,7 +34,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-02 18:06 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2017-04-02 18:06 UTC (permalink / raw
To: gentoo-commits
commit: b29dcb3221ac37c11280578d7897110054bb7ad1
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 2 18:06:02 2017 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sun Apr 2 18:06:02 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b29dcb32
sys-devel/llvm: x86 stable wrt bug #607660
Package-Manager: Portage-2.3.3, Repoman-2.3.1
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index 33e76bb15e4..93472a5a842 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -34,7 +34,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-06 12:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-04-06 12:48 UTC (permalink / raw
To: gentoo-commits
commit: c738aff7a8a27f1c867aef80e1ba392a7a3ee496
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 6 06:47:25 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 6 12:47:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c738aff7
sys-devel/llvm: Fix compressing manpages
sys-devel/llvm/llvm-4.0.0-r1.ebuild | 2 ++
sys-devel/llvm/llvm-9999.ebuild | 2 ++
2 files changed, 4 insertions(+)
diff --git a/sys-devel/llvm/llvm-4.0.0-r1.ebuild b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
index 1384df1a119..c9745dcdf6c 100644
--- a/sys-devel/llvm/llvm-4.0.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
@@ -262,4 +262,6 @@ multilib_src_install_all() {
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
doenvd "${T}/10llvm-${revord}"
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 16413680bdf..44153d7806e 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -262,4 +262,6 @@ multilib_src_install_all() {
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
doenvd "${T}/10llvm-${revord}"
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-06 12:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-04-06 12:48 UTC (permalink / raw
To: gentoo-commits
commit: 9f28a19a757b5ad8c901a62d10648a8e65e6bd15
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 6 06:42:33 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 6 12:47:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f28a19a
sys-devel/llvm: Include MANPATH in env.d file
Include MANPATH in the env.d file so that 'man' can reliably find all
the manpages. It seems that at least sys-apps/man-db can still find
the manpages relative to the tools found in PATH but that is most likely
unreliable.
sys-devel/llvm/{llvm-4.0.0.ebuild => llvm-4.0.0-r1.ebuild} | 1 +
sys-devel/llvm/llvm-9999.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/sys-devel/llvm/llvm-4.0.0.ebuild b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
similarity index 99%
rename from sys-devel/llvm/llvm-4.0.0.ebuild
rename to sys-devel/llvm/llvm-4.0.0-r1.ebuild
index f7f8e7c7456..1384df1a119 100644
--- a/sys-devel/llvm/llvm-4.0.0.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
@@ -258,6 +258,7 @@ multilib_src_install_all() {
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
doenvd "${T}/10llvm-${revord}"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index cdba7b1daf4..16413680bdf 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -258,6 +258,7 @@ multilib_src_install_all() {
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
doenvd "${T}/10llvm-${revord}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-06 12:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-04-06 12:48 UTC (permalink / raw
To: gentoo-commits
commit: b2262062b0ebc9e7d073ded2353ee72f7b367ac0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 6 07:53:31 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 6 12:47:56 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2262062
sys-devel/llvm: Include prebuilt manpages for 4.0.0 w/ USE=-doc
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-4.0.0-r1.ebuild | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 7766ec3864b..15ae027fa75 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,3 +36,4 @@ DIST llvm-3.9.0.src.tar.xz 18235716 SHA256 66c73179da42cee1386371641241f79ded250
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
DIST llvm-4.0.0.src.tar.xz 21016340 SHA256 8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be SHA512 cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704 WHIRLPOOL 9783e8f47306c1deb2e114d4b46a7db9b0260b4965076345c88765413c5fc8e73fab5f88ae4903adbdea31406022948b16d32ae47d98f5def074509d5d794579
+DIST llvm-manpages-4.0.0.tar.bz2 84861 SHA256 4676b3a18e95ddba19e868bfac0753154be2b57bc0d557f90270e4d2b0913d37 SHA512 7a04ffb607203aca099c816fe6e143779062610935f501786bd64bad6001741fb7a55adebe4e52e0611aa70fa04b22e1a7cab7b3da9dc2ed996fd0baf1ae8916 WHIRLPOOL e2ce15c26008995d71b830d74c5e6ca7dd862ed8208168facc0be6e7f855e5f59b143057ec2bbbaa70ed54dc77ad31279239886d25fe67c0853a9dee7baff31b
diff --git a/sys-devel/llvm/llvm-4.0.0-r1.ebuild b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
index c9745dcdf6c..db35674169d 100644
--- a/sys-devel/llvm/llvm-4.0.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r1.ebuild
@@ -13,7 +13,8 @@ inherit check-reqs cmake-utils flag-o-matic \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
-SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm-manpages-${PV}.tar.bz2 )"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -263,5 +264,12 @@ multilib_src_install_all() {
_EOF_
doenvd "${T}/10llvm-${revord}"
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
+ fi
+
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-14 22:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-04-14 22:38 UTC (permalink / raw
To: gentoo-commits
commit: 4a072e71088b37888ae219b3aa0ae490938b9a5d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 14 22:34:11 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 14 22:38:53 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a072e71
sys-devel/llvm: Fix passing -DNDEBUG to build, #614844
sys-devel/llvm/{llvm-4.0.0-r1.ebuild => llvm-4.0.0-r2.ebuild} | 2 ++
sys-devel/llvm/llvm-9999.ebuild | 2 ++
2 files changed, 4 insertions(+)
diff --git a/sys-devel/llvm/llvm-4.0.0-r1.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
similarity index 98%
rename from sys-devel/llvm/llvm-4.0.0-r1.ebuild
rename to sys-devel/llvm/llvm-4.0.0-r2.ebuild
index db35674169d..4e23b863f25 100644
--- a/sys-devel/llvm/llvm-4.0.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
@@ -204,6 +204,8 @@ multilib_src_configure() {
)
fi
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 44153d7806e..2d6aee82423 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -203,6 +203,8 @@ multilib_src_configure() {
)
fi
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-04-15 8:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-04-15 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 96205dfbd1d850e3845e6b6a9bb058c1c38f79e4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 15 08:48:08 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 15 08:53:42 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96205dfb
sys-devel/llvm: Remove no-longer-useful check-reqs
Now that LLVM is split, the package is no longer horribly large
in regular builds. The new sizes fit the usual limits and so do not need
specific checks. Furthermore, maintaining all those values with
different USE flags and compiler flags combinations.
sys-devel/llvm/llvm-4.0.0-r2.ebuild | 45 ++-----------------------------------
sys-devel/llvm/llvm-9999.ebuild | 45 ++-----------------------------------
2 files changed, 4 insertions(+), 86 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0-r2.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
index 4e23b863f25..a61ba7cfb94 100644
--- a/sys-devel/llvm/llvm-4.0.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
@@ -8,8 +8,8 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit check-reqs cmake-utils flag-o-matic \
- multilib-minimal pax-utils python-any-r1 toolchain-funcs versionator
+inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
@@ -76,48 +76,7 @@ python_check_deps() {
|| has_version "dev-python/lit[${PYTHON_USEDEP}]"
}
-check_space() {
- # in megs
- # !debug !multitarget -O2 400
- # !debug multitarget -O2 550
- # debug multitarget -O2 5G
-
- local build_size=550
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
src_prepare() {
- # Python is needed to run tests using lit
- python_setup
-
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 2d6aee82423..545cfbbcb49 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -8,8 +8,8 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit check-reqs cmake-utils flag-o-matic git-r3 \
- multilib-minimal pax-utils python-any-r1 toolchain-funcs versionator
+inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
@@ -75,48 +75,7 @@ python_check_deps() {
|| has_version "dev-python/lit[${PYTHON_USEDEP}]"
}
-check_space() {
- # in megs
- # !debug !multitarget -O2 400
- # !debug multitarget -O2 550
- # debug multitarget -O2 5G
-
- local build_size=550
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
src_prepare() {
- # Python is needed to run tests using lit
- python_setup
-
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-05-17 19:20 Markus Meier
0 siblings, 0 replies; 860+ messages in thread
From: Markus Meier @ 2017-05-17 19:20 UTC (permalink / raw
To: gentoo-commits
commit: 86cf7fc67390d4623793affd41e48c16b13aa42b
Author: Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Wed May 17 19:20:23 2017 +0000
Commit: Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Wed May 17 19:20:23 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86cf7fc6
sys-devel/llvm: add ~arm, bug #613666
Package-Manager: Portage-2.3.5, Repoman-2.3.1
RepoMan-Options: --include-arches="arm"
sys-devel/llvm/llvm-4.0.0-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-4.0.0-r2.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
index a61ba7cfb94..86ec2572ef8 100644
--- a/sys-devel/llvm/llvm-4.0.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="debug +doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-03 8:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-06-03 8:27 UTC (permalink / raw
To: gentoo-commits
commit: c6a9cb4c53865c3f820768f0e9efd093215ac5fe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 24 15:19:19 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 3 08:27:26 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6a9cb4c
sys-devel/llvm: Fix CHOST symlinks for 3.4.2-r100
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index bd41c339154..30d4081c1af 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -197,8 +197,8 @@ src_install() {
if ! use clang; then
rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die
else
- for tool in clang{,++}{,-${PV}} ; do
- dosym /usr/bin/${tool} /usr/bin/${CHOST}-${tool}
+ for tool in clang{,++} ; do
+ dosym ${tool} /usr/bin/${CHOST}-${tool}
done
fi
doman "${WORKDIR}"/${PN}-3.4-manpages/*.1
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-03 8:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-06-03 8:27 UTC (permalink / raw
To: gentoo-commits
commit: fe7d7d25f8dfe6216c3e86ba59efb4b6e0e1915f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 24 13:39:51 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 3 08:27:24 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe7d7d25
sys-devel/llvm: Fix configure phase for 3.4.2-r100
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 6907006835c..bd41c339154 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -146,14 +146,14 @@ src_prepare() {
python_setup
}
-multilib_src_configure() {
+src_configure() {
# disable timestamps since they confuse ccache
local conf_flags=(
--disable-timestamps
--enable-keep-symbols
--enable-shared
--with-optimize-option=
- --enableoptimized
+ --enable-optimized
--disable-assertions
--disable-expensive-checks
--disable-terminfo
@@ -165,12 +165,6 @@ multilib_src_configure() {
ac_cv_prog_XML2CONFIG=""
)
- if use clang; then
- conf_flags+=(
- --with-clang-resource-dir=../lib/clang/${PV}
- )
- fi
-
if use libffi; then
local CPPFLAGS=${CPPFLAGS}
append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-03 8:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-06-03 8:27 UTC (permalink / raw
To: gentoo-commits
commit: e4b8cce48ee941fe06b2b6097defcd36efe66ab0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 24 11:32:54 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 3 08:27:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4b8cce4
sys-devel/llvm: Minimize 3.5 to be Darwin Prefix-compat only
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-3.5.2-r100.ebuild | 275 +++++++++++++++++
sys-devel/llvm/llvm-3.5.2.ebuild | 550 ----------------------------------
3 files changed, 275 insertions(+), 551 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 15ae027fa75..a0cc649999f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,7 +5,6 @@ DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c9
DIST cfe-3.8.1.src.tar.xz 9605548 SHA256 4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf SHA512 72d23a410271b50f97371b13dd7a6c6c5c0a993e35df436ab716ece8521d83406aa3d4bf8fdecd8154139f39fd5e011e480d405225d8c3ff152d0a2ac4573e04 WHIRLPOOL 7bcc9e6fed871b7490e2a280f2ad36008150a0af3605357fbe529aea8a7acbbed41c7da273dd150f8f50869cd321f114e909236261c4dd05ed7f644c75f208c4
DIST cfe-3.9.0.src.tar.xz 10390440 SHA256 7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28 SHA512 f405b5819fd19276b2de4da80a51171a3b1c5c00df810e1f284184c693e410775fe2933576f942b881664dd3b75e78f0f15b7e5a3eca7819ffbcfe528d9a578e WHIRLPOOL cb4ff4eaababa3017b4a96548b7fe1dc5f4926bd27dc6de56c3ae1fc450c8af1faf1edea2e909e40289477ebaf79860fca3a9695b22402dc9385031d7b8ad5bf
DIST cfe-3.9.1.src.tar.xz 10363080 SHA256 e6c4cebb96dee827fa0470af313dff265af391cb6da8d429842ef208c8f25e63 SHA512 3f0eea194597e438bbe49ce9ef5fdced81459c21cbdd2653750b2fe02c55a0154d6a33a8cfd02e607b83314a8e35b2c300f944462120ab6de1d4139d85db56b8 WHIRLPOOL 9f70688c7c2857426bf5fbf039b9723ec73ec57e8d3b36da37589bcbdbdb090aa36cd1800f0521ef0c30065bf03083eade0ac81ef0939412919423db7779a6f8
-DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
DIST clang-tools-extra-3.8.1.src.tar.xz 334768 SHA256 664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396 SHA512 ec8c4a6ac4fd1a0e24fc15e56ba00828e0d718c2f7bd477ea134ab094c67f4f4b2f603f128ec11a03b7f25f3e9b8fe75181e40730c56b7b683f54e3f37573137 WHIRLPOOL b05213cbe21b778e718233cecbf4d01b92c1f133eced6fdd3fa5059c4b10e5f0407549634f65032af177ba1614250f5c02e283c2b03563db3e227b1afcae424b
diff --git a/sys-devel/llvm/llvm-3.5.2-r100.ebuild b/sys-devel/llvm/llvm-3.5.2-r100.ebuild
new file mode 100644
index 00000000000..d6512fff863
--- /dev/null
+++ b/sys-devel/llvm/llvm-3.5.2-r100.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
+ python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
+ https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. autoconf (not installed): some undefined M.I.T. license.
+# 5. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain"
+SLOT="0/3.5"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE="clang +libffi"
+
+COMMON_DEPEND="
+ sys-libs/zlib:0=
+ libffi? ( >=virtual/libffi-3.0.13-r1:0= )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ dev-lang/perl
+ >=sys-devel/make-3.81
+ >=sys-devel/flex-2.5.4
+ >=sys-devel/bison-1.875d
+ || ( >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3 )
+ >=sys-devel/binutils-apple-5.1
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+RDEPEND="${COMMON_DEPEND}
+ clang? ( !<=sys-devel/clang-${PV}-r99
+ !>=sys-devel/clang-9999 )"
+PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
+
+S=${WORKDIR}/${P}.src
+
+check_space() {
+ # in megs
+ # !clang !debug !multitarget -O2 400
+ # !clang !debug multitarget -O2 550
+ # clang !debug !multitarget -O2 950
+ # clang !debug multitarget -O2 1200
+ # !clang debug multitarget -O2 5G
+ # clang !debug multitarget -O0 -g 12G
+ # clang debug multitarget -O2 16G
+ # clang debug multitarget -O0 -g 14G
+
+ local build_size=550
+ use clang && build_size=1200
+
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn "The C++ compiler -g option is known to increase the size of the package"
+ ewarn "considerably. If you run out of space, please consider removing it."
+ ewarn
+
+ (( build_size *= 10 ))
+ fi
+
+ local CHECKREQS_DISK_BUILD=${build_size}M
+ check-reqs_pkg_pretend
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ echo 'int main() {return 0;}' > "${T}"/test.cxx || die
+ ebegin "Trying to build a C++11 test program"
+ if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
+ eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
+ eerror "to gcc-4.7 or an equivalent version supporting C++11."
+ die "Currently active compiler does not support -std=c++11"
+ fi
+ eend ${?}
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_unpack() {
+ default
+
+ rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
+ || die "symlinks removal failed"
+
+ if use clang; then
+ mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
+ || die "clang source directory move failed"
+ mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
+ || die "compiler-rt source directory move failed"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/3.6.2/nodoctargz.patch
+ epatch "${FILESDIR}"/3.6.2/gcc-4.9.patch
+ epatch "${FILESDIR}"/3.5.2/gentoo-install.patch
+ epatch "${FILESDIR}"/3.5.2/gcc-5.1.patch
+
+ if use clang; then
+ # Automatically select active system GCC's libraries, bugs #406163 and #417913
+ epatch "${FILESDIR}"/3.9.0/clang/gentoo-runtime-gcc-detection-v3.patch
+
+ epatch "${FILESDIR}"/3.5.2/clang/gentoo-install.patch
+ epatch "${FILESDIR}"/3.9.1/clang/darwin_prefix-include-paths.patch
+ eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
+ fi
+
+ if use prefix && use clang; then
+ sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
+ projects/compiler-rt/make/platform/clang_*.mk || die
+ fi
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ local sub_files=(
+ Makefile.config.in
+ Makefile.rules
+ tools/llvm-config/llvm-config.cpp
+ )
+ use clang && sub_files+=(
+ tools/clang/lib/Driver/Tools.cpp
+ tools/clang/tools/scan-build/scan-build
+ )
+
+ # unfortunately ./configure won't listen to --mandir and the-like, so take
+ # care of this.
+ # note: we're setting the main libdir intentionally.
+ # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
+ einfo "Fixing install dirs"
+ sed -e "s,@libdir@,$(get_libdir),g" \
+ -e "s,@PF@,${PF},g" \
+ -e "s,@EPREFIX@,${EPREFIX},g" \
+ -i "${sub_files[@]}" \
+ || die "install paths sed failed"
+
+ if use clang; then
+ # constantly fails for a long time, likely due to our patches
+ rm tools/clang/test/Driver/cross-linux.c || die
+ fi
+
+ # User patches
+ epatch_user
+
+ python_setup
+}
+
+src_configure() {
+ # disable timestamps since they confuse ccache
+ local conf_flags=(
+ --disable-timestamps
+ --enable-keep-symbols
+ --enable-shared
+ --with-optimize-option=
+ --enable-optimized
+ --disable-assertions
+ --disable-expensive-checks
+ --disable-libedit
+ --disable-terminfo
+ $(use_enable libffi)
+
+ --enable-bindings=none
+ --enable-targets=host
+
+ ac_cv_prog_XML2CONFIG=""
+ )
+
+ if use libffi; then
+ local CPPFLAGS=${CPPFLAGS}
+ append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
+ fi
+
+ # llvm prefers clang over gcc, so we may need to force that
+ tc-export CC CXX
+
+ ECONF_SOURCE=${S} \
+ econf "${conf_flags[@]}"
+}
+
+src_compile() {
+ LLVM_MAKEARGS=(
+ VERBOSE=1
+ REQUIRES_RTTI=1
+ GENTOO_LIBDIR=$(get_libdir)
+ )
+
+ emake "${LLVM_MAKEARGS[@]}"
+
+ pax-mark m Release/bin/llvm-rtdyld
+ pax-mark m Release/bin/lli
+ pax-mark m Release/bin/lli-child-target
+}
+
+src_install() {
+ emake "${LLVM_MAKEARGS[@]}" DESTDIR="${D}" install
+
+ if ! use clang; then
+ rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die
+ else
+ for tool in clang{,++} ; do
+ dosym ${tool} /usr/bin/${CHOST}-${tool}
+ done
+ fi
+ doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1
+
+ # Fix install_names on Darwin. The build system is too complicated
+ # to just fix this, so we correct it post-install
+ local lib= f= odylib= ndylib= libpv=${PV}
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ eval $(grep PACKAGE_VERSION= configure)
+ [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
+ libpvminor=${libpv%.[0-9]*}
+ for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
+ # libEnhancedDisassembly is Darwin10 only, so non-fatal
+ # + omit clang libs if not enabled
+ [[ -f ${ED}/usr/lib/${lib} ]] || continue
+
+ ebegin "fixing install_name of $lib"
+ install_name_tool \
+ -id "${EPREFIX}"/usr/lib/${lib} \
+ "${ED}"/usr/lib/${lib}
+ eend $?
+ done
+ for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
+ # omit clang libs if not enabled
+ [[ -f "${f}" ]] || continue
+
+ scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
+ while read odylib ; do
+ ndylib=
+ case ${odylib} in
+ */libclang.dylib)
+ ndylib="${EPREFIX}"/usr/lib/libclang.dylib
+ ;;
+ */libLLVM-${libpv}.dylib)
+ ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
+ ;;
+ */libLLVM-${libpvminor}.dylib)
+ ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
+ ;;
+ */libLTO.dylib)
+ ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
+ ;;
+ esac
+ if [[ -n ${ndylib} ]] ; then
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
+ install_name_tool \
+ -change "${odylib}" "${ndylib}" \
+ "${f}"
+ eend $?
+ fi
+ done
+ done
+ fi
+}
diff --git a/sys-devel/llvm/llvm-3.5.2.ebuild b/sys-devel/llvm/llvm-3.5.2.ebuild
deleted file mode 100644
index dafbd5aa1f1..00000000000
--- a/sys-devel/llvm/llvm-3.5.2.ebuild
+++ /dev/null
@@ -1,550 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 pypy )
-
-inherit eutils flag-o-matic multibuild multilib \
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not installed): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- arm? ( LLVM-Grant )
- arm64? ( LLVM-Grant )
- multitarget? ( LLVM-Grant )"
-SLOT="0/3.5"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python
- +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2= )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? ( dev-lang/ocaml:0= )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.3
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- kernel_Darwin? ( =sys-libs/libcxx-${SLOT#*/}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( || ( $(python_gen_useflags 'python*') ) )"
-
-S=${WORKDIR}/${P}.src
-
-# Some people actually override that in make.conf. That sucks since
-# we need to run install per-directory, and ninja can't do that...
-# so why did it call itself ninja in the first place?
-CMAKE_MAKEFILE_GENERATOR=emake
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/3.6.2/nodoctargz.patch
- epatch "${FILESDIR}"/3.6.2/gcc-4.9.patch
- epatch "${FILESDIR}"/3.5.2/gentoo-install.patch
- epatch "${FILESDIR}"/3.5.2/gcc-5.1.patch
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/Ocaml/*ml || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${FILESDIR}"/3.9.0/clang/gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${FILESDIR}"/3.5.2/clang/gentoo-install.patch
- epatch "${FILESDIR}"/3.9.1/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-multilib_src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- $(tc-is-static-only && echo --disable-shared)
- $(use_enable !debug optimized)
- $(use_enable debug assertions)
- $(use_enable debug expensive-checks)
- $(use_enable libedit)
- $(use_enable ncurses terminfo)
- $(use_enable libffi)
- )
-
- # well, it's used only by clang executable c-index-test
- if multilib_is_native_abi && use clang && use xml; then
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
- else
- conf_flags+=( ac_cv_prog_XML2CONFIG="" )
- fi
-
- local targets bindings
- if use multitarget; then
- targets='all'
- else
- targets='host,cpp'
- use video_cards_radeon && targets+=',r600'
- fi
- conf_flags+=( --enable-targets=${targets} )
-
- if multilib_is_native_abi; then
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
- # extra commas don't hurt
- use ocaml && bindings+=',ocaml'
- fi
-
- [[ ${bindings} ]] || bindings='none'
- conf_flags+=( --enable-bindings=${bindings} )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
- fi
-
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-set_makeargs() {
- MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- # for tests, we want it all! otherwise, we may use a little filtering...
- # adding ONLY_TOOLS also disables unittest building...
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
- local tools=( llvm-config )
- use clang && tools+=( clang )
-
- if multilib_is_native_abi; then
- tools+=(
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint
- )
-
- # the build system runs explicitly specified tools in parallel,
- # so we need to split it into two runs
- if [[ ${1} != -1 ]]; then
- # those require lto
- tools+=( llvm-lto )
- use gold && tools+=( gold )
-
- # those require clang :)
- # we need to explicitly specify all its tools
- # since we're passing BUILD_CLANG_ONLY
- use clang && tools+=(
- clang/tools/{clang-check,clang-format,extra}
- )
- fi
- fi
-
- MAKEARGS+=(
- # filter tools + disable unittests implicitly
- ONLY_TOOLS="${tools[*]}"
-
- # this disables unittests & docs from clang
- BUILD_CLANG_ONLY=YES
- )
- fi
-}
-
-multilib_src_compile() {
- local MAKEARGS
- set_makeargs -1
- emake "${MAKEARGS[@]}"
-
- if multilib_is_native_abi; then
- set_makeargs
- emake -C tools "${MAKEARGS[@]}"
-
- if use doc; then
- emake -C "${S}"/docs -f Makefile.sphinx man
- use clang && emake -C "${S}"/tools/clang/docs/tools \
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
- emake -C "${S}"/docs -f Makefile.sphinx html
- fi
- fi
-
- if use debug; then
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
- pax-mark m Debug+Asserts+Checks/bin/lli
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target
- else
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
- fi
-}
-
-multilib_src_test() {
- local MAKEARGS
- set_makeargs
-
- # build the remaining tools & unittests
- emake "${MAKEARGS[@]}"
-
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
- pax-mark m unittests/Support/Release/SupportTests
-
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- emake "${MAKEARGS[@]}" check
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied below
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-${PV}
- /usr/bin/clang++-${PV}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
-}
-
-multilib_src_install() {
- local MAKEARGS
- set_makeargs
-
- local root=${D}/_${ABI}
-
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install
- multibuild_merge_root "${root}" "${D}"
-
- if ! multilib_is_native_abi; then
- # Backwards compat, will be happily removed someday.
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
- else
- # Install docs.
- if use doc; then
- doman "${S}"/docs/_build/man/*.1
- use clang && doman "${T}"/clang.1
- dohtml -r "${S}"/docs/_build/html/
- else
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die
- fi
- doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1
- fi
-
- # Symlink the gold plugin.
- if use gold; then
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
- dosym ../../../../$(get_libdir)/LLVMgold.so \
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
- fi
- fi
-
- # apply CHOST and PV to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ )
- local i
-
- # append ${PV} and symlink back
- # TODO: use alternatives.eclass? does that make any sense?
- # maybe with USE=-clang on :0 and USE=clang on older
- for i in "${clang_tools[@]}"; do
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
- dosym "${i}"-${PV} /usr/bin/${i}
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${PV}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${PV}"
- done
- fi
- fi
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles/syntax
- doins utils/vim/*.vim
-
- if use clang; then
- cd tools/clang || die
-
- if use static-analyzer ; then
- dobin tools/scan-build/ccc-analyzer
- dosym ccc-analyzer /usr/bin/c++-analyzer
- dobin tools/scan-build/scan-build
-
- insinto /usr/share/${PN}
- doins tools/scan-build/scanview.css
- doins tools/scan-build/sorttable.js
- fi
-
- python_inst() {
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule __init__.py cindex.py enumerations.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
- }
- python_foreach_impl python_inst
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-03 8:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-06-03 8:27 UTC (permalink / raw
To: gentoo-commits
commit: 6ee132a9a344ce2eef5d6f1f9714f486b2eed012
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 24 16:38:53 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 3 08:27:42 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ee132a9
sys-devel/llvm: Drop old revisions
sys-devel/llvm/llvm-3.8.1.ebuild | 554 ---------------------------------------
sys-devel/llvm/llvm-3.9.1.ebuild | 544 --------------------------------------
2 files changed, 1098 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.8.1.ebuild b/sys-devel/llvm/llvm-3.8.1.ebuild
deleted file mode 100644
index a32ead05993..00000000000
--- a/sys-devel/llvm/llvm-3.8.1.ebuild
+++ /dev/null
@@ -1,554 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not used): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- arm? ( LLVM-Grant )
- arm64? ( LLVM-Grant )
- multitarget? ( LLVM-Grant )"
-SLOT="0/3.8.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- lldb? ( dev-python/six[${PYTHON_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${FILESDIR}"/3.9.1/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${FILESDIR}"/3.9.1/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${FILESDIR}"/3.9.1/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${FILESDIR}"/3.8.1/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- eapply "${FILESDIR}"/3.8.1/0005-cmake-Do-not-install-libgtest.patch
-
- # Allow custom cmake build types (like 'Gentoo')
- eapply "${FILESDIR}"/3.9.1/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/3.8.1/llvm-config.patch
-
- # Restore SOVERSIONs for shared libraries
- # https://bugs.gentoo.org/show_bug.cgi?id=578392
- eapply "${FILESDIR}"/3.8.1/0008-cmake-Restore-SOVERSIONs-on-shared-libraries.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${FILESDIR}"/3.9.0/clang/gentoo-runtime-gcc-detection-v3.patch
-
- # Support gcc4.9 search paths
- # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3
- eapply "${FILESDIR}"/3.8.1/clang/gcc4.9-search-path.patch
-
- eapply "${FILESDIR}"/3.9.1/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- eapply "${FILESDIR}"/3.8.1/compiler-rt/darwin-default-sysroot.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${FILESDIR}"/3.9.1/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${FILESDIR}"/3.8.1/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- eapply "${FILESDIR}"/3.8.1/compiler-rt/arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${FILESDIR}"/3.9.1/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- # Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064
- # https://llvm.org/bugs/show_bug.cgi?id=26651
- eapply "${FILESDIR}"/3.8.1/compiler-rt/fbsd.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- # Do not install bundled six module
- eapply "${FILESDIR}"/3.9.1/lldb/six.patch
- fi
-
- # User patches
- eapply_user
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
- )
-
- if use clang; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang && ! has_version 'sys-libs/libomp'; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.9.1.ebuild b/sys-devel/llvm/llvm-3.9.1.ebuild
deleted file mode 100644
index 6919e9857ce..00000000000
--- a/sys-devel/llvm/llvm-3.9.1.ebuild
+++ /dev/null
@@ -1,544 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( http://dev.gentoo.org/~mgorny/dist/${PN}-3.9.0_rc3-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
- lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
- elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- lldb? ( dev-python/six[${PYTHON_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/ocaml-ctypes:=
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( dev-ml/findlib
- test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="
- clang? (
- =sys-devel/clang-${PV}-r100
- ~sys-devel/clang-runtime-${PV}
- )
- default-libcxx? ( sys-libs/libcxx )
- kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )
- || ( ${ALL_LLVM_TARGETS[*]} )
- multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${FILESDIR}"/3.9.1/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${FILESDIR}"/3.9.1/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${FILESDIR}"/3.9.1/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${FILESDIR}"/3.9.1/0004-cmake-Use-separate-doctrees-to-prevent-races-between.patch
-
- # Allow custom cmake build types (like 'Gentoo')
- eapply "${FILESDIR}"/3.9.1/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/3.9.1/llvm-config-r1.patch
-
- # Restore SOVERSIONs for shared libraries
- # https://bugs.gentoo.org/show_bug.cgi?id=578392
- eapply "${FILESDIR}"/3.9.1/0008-cmake-Reintroduce-ldconfig-compatible-SOVERSIONs-on-.patch
-
- # support building llvm against musl-libc
- use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${FILESDIR}"/3.9.1/clang/gcc-config.patch
-
- eapply "${FILESDIR}"/3.9.1/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- eapply "${FILESDIR}"/3.8.1/compiler-rt/darwin-default-sysroot.patch
-
- pushd "${S}"/tools/clang >/dev/null || die
- # be able to specify default values for -stdlib and -rtlib at build time
- eapply "${FILESDIR}"/3.9.1/clang/default-libs.patch
- popd >/dev/null || die
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${FILESDIR}"/3.9.1/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${FILESDIR}"/3.9.1/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${FILESDIR}"/3.9.1/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- # Do not install bundled six module
- eapply "${FILESDIR}"/3.9.1/lldb/six.patch
- fi
-
- # User patches
- eapply_user
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # override default stdlib and rtlib
- -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
- -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
-
- # compiler-rt's test cases depend on sanitizer
- -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
- -DCOMPILER_RT_INCLUDE_TESTS=$(usex sanitize)
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
- )
-
- if use clang; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-
- # provide a symlink for tests
- if [[ $(get_libdir) != lib ]]; then
- ln -s "../$(get_libdir)/clang" lib/clang || die
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- if use clang; then
- # Apply CHOST and version suffix to clang tools
- local clang_version=${PV%.*}
- local clang_tools=( clang clang++ clang-cl clang-cpp )
- local abi i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl, clang-cpp -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y
- # also in CHOST variant
- for i in "${clang_tools[@]:1}"; do
- rm -f "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/bin/${i}"
- done
-
- # now create target symlinks for all supported ABIs
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/bin/${abi_chost}-${i}"
- done
- done
- fi
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- # Install man pages from the prebuilt package
- if ! use doc; then
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.9.0_rc3-manpages/{clang,extraclangtools,scan-build}.1 || die
- fi
-
- doman "${WORKDIR}"/${PN}-3.9.0_rc3-manpages/*.1
- fi
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
- fi
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-19 9:54 Alexis Ballier
0 siblings, 0 replies; 860+ messages in thread
From: Alexis Ballier @ 2017-06-19 9:54 UTC (permalink / raw
To: gentoo-commits
commit: a564bdff02df5a878ddf90988538a457596443e1
Author: Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 19 08:52:31 2017 +0000
Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Jun 19 08:52:49 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a564bdff
sys-devel/llvm: Fix path to llvm-tblgen when cross compiling.
Package-Manager: Portage-2.3.6, Repoman-2.3.2
sys-devel/llvm/llvm-4.0.0-r2.ebuild | 7 ++++---
sys-devel/llvm/llvm-9999.ebuild | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.0-r2.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
index 86ec2572ef8..e599e21fc6e 100644
--- a/sys-devel/llvm/llvm-4.0.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
@@ -155,11 +155,12 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
mycmakeargs+=(
-DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ -DLLVM_TABLEGEN="${tblgen}"
)
fi
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 545cfbbcb49..99121e917a0 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -154,11 +154,12 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
mycmakeargs+=(
-DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ -DLLVM_TABLEGEN="${tblgen}"
)
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-06-27 19:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-06-27 19:18 UTC (permalink / raw
To: gentoo-commits
commit: 303caa4c508d0fb5278af165acce6ae2e912e091
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 14:47:47 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 27 19:17:39 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=303caa4c
sys-devel/llvm: Bump to 4.0.1
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-4.0.1.ebuild | 237 +++++++++++++++++++++++++++++++++++++++
2 files changed, 239 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f7b800f41b6..f395ce10617 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,4 +35,6 @@ DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6
DIST llvm-3.9.1-patchset.tar.xz 16404 SHA256 a4b3e5887b53af47984ea39ff8640f11e8a9accbafd1be20fb9cf25f2980b16c SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089 WHIRLPOOL a9ec4315e8bb9593e6734e22a0d81fbe0398adedcfe7f6b81de852c1a1092593e07624a5ce7b67bca8be8b34c7453fda9f7eb33be41d11f51458800248a15649
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
DIST llvm-4.0.0.src.tar.xz 21016340 SHA256 8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be SHA512 cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704 WHIRLPOOL 9783e8f47306c1deb2e114d4b46a7db9b0260b4965076345c88765413c5fc8e73fab5f88ae4903adbdea31406022948b16d32ae47d98f5def074509d5d794579
+DIST llvm-4.0.1.src.tar.xz 21065652 SHA256 da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51 SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d WHIRLPOOL 1626ff270f7ce4801d02a0797b227fda9314ff5c0c01d653111599e9a4d2854c4d9edc3c698a7abee8d79d6bce8b18dc619fbced3c07ca610d44a248d65830cc
DIST llvm-manpages-4.0.0.tar.bz2 84861 SHA256 4676b3a18e95ddba19e868bfac0753154be2b57bc0d557f90270e4d2b0913d37 SHA512 7a04ffb607203aca099c816fe6e143779062610935f501786bd64bad6001741fb7a55adebe4e52e0611aa70fa04b22e1a7cab7b3da9dc2ed996fd0baf1ae8916 WHIRLPOOL e2ce15c26008995d71b830d74c5e6ca7dd862ed8208168facc0be6e7f855e5f59b143057ec2bbbaa70ed54dc77ad31279239886d25fe67c0853a9dee7baff31b
+DIST llvm-manpages-4.0.1.tar.bz2 87981 SHA256 28fa1dcd4774156247ba253d2d79c81796ef0f0763b4f37c9c5ae27af93f4320 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 WHIRLPOOL da897ea8d3713a5c4c10a6320f0e7dd13e0125e942e3444b0e8a2a062b83a8e86e3754be025b89ae00f63f557ec0518ab62d8cd21237962e93c708ca72c8e3f5
diff --git a/sys-devel/llvm/llvm-4.0.1.ebuild b/sys-devel/llvm/llvm-4.0.1.ebuild
new file mode 100644
index 00000000000..6c93c3a8f1b
--- /dev/null
+++ b/sys-devel/llvm/llvm-4.0.1.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(get_major_version)"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug +doc gold libedit +libffi ncurses test
+ elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="app-vim/llvm-vim
+ gold? ( sys-devel/llvmgold )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ ! use test \
+ || has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # support building llvm against musl-libc
+ use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches
+ eapply_user
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-08 23:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-08 23:18 UTC (permalink / raw
To: gentoo-commits
commit: faef67fc3a302a59e9138081cf320f71148e8250
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 8 19:11:30 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 8 23:18:20 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faef67fc
sys-devel/llvm: Update upstream git URI
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index daa98381996..7b69f395691 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -14,7 +14,7 @@ inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
SRC_URI=""
-EGIT_REPO_URI="http://llvm.org/git/llvm.git
+EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
# Keep in sync with CMakeLists.txt
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-08 23:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-08 23:18 UTC (permalink / raw
To: gentoo-commits
commit: 65c13dd8fa9a4bb8762ade02b3b9b71e491de4b5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 8 19:13:52 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 8 23:18:26 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65c13dd8
sys-devel/llvm: Do not append VCS revision to version
sys-devel/llvm/llvm-9999.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 7b69f395691..9e9b95c1baa 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -99,6 +99,9 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-08 23:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-08 23:25 UTC (permalink / raw
To: gentoo-commits
commit: fc547872f97d89e67987ee909deacde980f2dfd1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 8 23:23:25 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 8 23:24:42 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc547872
sys-devel/llvm: Use https for llvm.org
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 8 ++++----
sys-devel/llvm/llvm-3.5.2-r100.ebuild | 8 ++++----
sys-devel/llvm/llvm-3.6.2-r100.ebuild | 8 ++++----
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 14 +++++++-------
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 12 ++++++------
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 12 ++++++------
sys-devel/llvm/llvm-4.0.0-r2.ebuild | 4 ++--
sys-devel/llvm/llvm-4.0.1.ebuild | 4 ++--
sys-devel/llvm/llvm-9999.ebuild | 2 +-
9 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index d03486db7d7..c533ef6f68e 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -8,10 +8,10 @@ inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
- clang? ( http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.gz
+ clang? ( https://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
https://dev.gentoo.org/~mgorny/dist/llvm/${PN}-3.4-manpages.tar.bz2
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
diff --git a/sys-devel/llvm/llvm-3.5.2-r100.ebuild b/sys-devel/llvm/llvm-3.5.2-r100.ebuild
index 07457902436..fc7b03e22ba 100644
--- a/sys-devel/llvm/llvm-3.5.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.5.2-r100.ebuild
@@ -8,10 +8,10 @@ inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
diff --git a/sys-devel/llvm/llvm-3.6.2-r100.ebuild b/sys-devel/llvm/llvm-3.6.2-r100.ebuild
index aedeb834698..c84af618ae0 100644
--- a/sys-devel/llvm/llvm-3.6.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.6.2-r100.ebuild
@@ -8,10 +8,10 @@ inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.6.1-manpages.tar.bz2
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 5e3be43913a..a443825a626 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -10,12 +10,12 @@ inherit check-reqs cmake-utils eutils flag-o-matic multilib \
multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
@@ -253,7 +253,7 @@ src_prepare() {
-i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
# Fix build with ncurses[tinfo], #560474
- # http://llvm.org/viewvc/llvm-project?view=revision&revision=247842
+ # https://llvm.org/viewvc/llvm-project?view=revision&revision=247842
eapply "${WORKDIR}/${P}-patchset"/lldb/tinfo.patch
fi
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index e1df41fb8a4..e6e60425a19 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -10,12 +10,12 @@ inherit check-reqs cmake-utils eutils flag-o-matic multilib \
multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.xz"
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index b8a917ab13e..11188e4e124 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -10,12 +10,12 @@ inherit check-reqs cmake-utils eutils flag-o-matic multilib \
multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
+ clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+ https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+ lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${PN}-3.9.0_rc3-manpages.tar.bz2 )
https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.xz"
diff --git a/sys-devel/llvm/llvm-4.0.0-r2.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
index 0ffd1b669de..8aab227bc91 100644
--- a/sys-devel/llvm/llvm-4.0.0-r2.ebuild
+++ b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
@@ -12,8 +12,8 @@ inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm-manpages-${PV}.tar.bz2 )"
# Keep in sync with CMakeLists.txt
diff --git a/sys-devel/llvm/llvm-4.0.1.ebuild b/sys-devel/llvm/llvm-4.0.1.ebuild
index e0f1f16e0ff..0c5bec512cc 100644
--- a/sys-devel/llvm/llvm-4.0.1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1.ebuild
@@ -12,8 +12,8 @@ inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
# Keep in sync with CMakeLists.txt
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 9e9b95c1baa..adc0505a80a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -12,7 +12,7 @@ inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
+HOMEPAGE="https://llvm.org/"
SRC_URI=""
EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-24 19:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-24 19:03 UTC (permalink / raw
To: gentoo-commits
commit: 190923251515af6818cc7f410951bf1d4b5bb5dd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 15:47:09 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 19:03:44 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19092325
sys-devel/llvm: Branch for 5.0.0 release
sys-devel/llvm/llvm-5.0.9999.ebuild | 233 ++++++++++++++++++++++++++++++++++++
1 file changed, 233 insertions(+)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
new file mode 100644
index 00000000000..66aa02b23cc
--- /dev/null
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
+ https://github.com/llvm-mirror/llvm.git"
+EGIT_BRANCH="release_50"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(get_major_version)"
+KEYWORDS=""
+IUSE="debug +doc gold libedit +libffi ncurses test
+ elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( sys-devel/llvmgold )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ ! use test \
+ || has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # support building llvm against musl-libc
+ use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches
+ eapply_user
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-24 19:04 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-24 19:04 UTC (permalink / raw
To: gentoo-commits
commit: 35b913922d98158b1fe1fba9c2641d80879bdb43
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 16:57:29 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 19:03:51 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35b91392
sys-devel/llvm: Adjust the slot for 9999
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index adc0505a80a..d5e7da2b501 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="5"
+SLOT="6"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-07-25 7:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-07-25 7:58 UTC (permalink / raw
To: gentoo-commits
commit: ddae72064f2bb1465ea30c7b6ea01d302339d1f2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 07:52:20 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 07:57:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddae7206
sys-devel/llvm: Clean old up
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-4.0.0-r2.ebuild | 237 ------------------------------------
2 files changed, 239 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f395ce10617..f71229a70b1 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,7 +34,5 @@ DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1-patchset.tar.xz 16404 SHA256 a4b3e5887b53af47984ea39ff8640f11e8a9accbafd1be20fb9cf25f2980b16c SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089 WHIRLPOOL a9ec4315e8bb9593e6734e22a0d81fbe0398adedcfe7f6b81de852c1a1092593e07624a5ce7b67bca8be8b34c7453fda9f7eb33be41d11f51458800248a15649
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
-DIST llvm-4.0.0.src.tar.xz 21016340 SHA256 8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be SHA512 cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704 WHIRLPOOL 9783e8f47306c1deb2e114d4b46a7db9b0260b4965076345c88765413c5fc8e73fab5f88ae4903adbdea31406022948b16d32ae47d98f5def074509d5d794579
DIST llvm-4.0.1.src.tar.xz 21065652 SHA256 da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51 SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d WHIRLPOOL 1626ff270f7ce4801d02a0797b227fda9314ff5c0c01d653111599e9a4d2854c4d9edc3c698a7abee8d79d6bce8b18dc619fbced3c07ca610d44a248d65830cc
-DIST llvm-manpages-4.0.0.tar.bz2 84861 SHA256 4676b3a18e95ddba19e868bfac0753154be2b57bc0d557f90270e4d2b0913d37 SHA512 7a04ffb607203aca099c816fe6e143779062610935f501786bd64bad6001741fb7a55adebe4e52e0611aa70fa04b22e1a7cab7b3da9dc2ed996fd0baf1ae8916 WHIRLPOOL e2ce15c26008995d71b830d74c5e6ca7dd862ed8208168facc0be6e7f855e5f59b143057ec2bbbaa70ed54dc77ad31279239886d25fe67c0853a9dee7baff31b
DIST llvm-manpages-4.0.1.tar.bz2 87981 SHA256 28fa1dcd4774156247ba253d2d79c81796ef0f0763b4f37c9c5ae27af93f4320 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 WHIRLPOOL da897ea8d3713a5c4c10a6320f0e7dd13e0125e942e3444b0e8a2a062b83a8e86e3754be025b89ae00f63f557ec0518ab62d8cd21237962e93c708ca72c8e3f5
diff --git a/sys-devel/llvm/llvm-4.0.0-r2.ebuild b/sys-devel/llvm/llvm-4.0.0-r2.ebuild
deleted file mode 100644
index 8aab227bc91..00000000000
--- a/sys-devel/llvm/llvm-4.0.0-r2.ebuild
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs versionator
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm-manpages-${PV}.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(get_major_version)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="debug +doc gold libedit +libffi ncurses test
- elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-
-RDEPEND="
- sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- ! use test \
- || has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # support building llvm against musl-libc
- use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches
- eapply_user
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
-_EOF_
- doenvd "${T}/10llvm-${revord}"
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-08-15 12:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-08-15 12:35 UTC (permalink / raw
To: gentoo-commits
commit: c3996ca4d671f5d0e6be00c827a309ac17bfde9a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 11:18:31 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 12:35:32 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3996ca4
sys-devel/llvm: Include all experimental targets in -9999
sys-devel/llvm/llvm-9999.ebuild | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 65914f3a340..e6a3f23898b 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -17,9 +17,12 @@ SRC_URI=""
EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV WebAssembly )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
+ NVPTX PowerPC Sparc SystemZ X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
@@ -106,7 +109,10 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
-DLLVM_ENABLE_FFI=$(usex libffi)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-08-15 12:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-08-15 12:35 UTC (permalink / raw
To: gentoo-commits
commit: 22c9919de2a41c7ef158c728ceb55ebc1662166c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 09:45:15 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 12:35:30 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22c9919d
sys-devel/llvm: Disable RISCV following upstream
The RISCV target is experimental and was only accidentally added to
the main target list. Since it can no longer be enabled the usual way,
remove it from the ebuilds for now.
sys-devel/llvm/llvm-5.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 66aa02b23cc..1ee42880997 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -20,7 +20,7 @@ EGIT_BRANCH="release_50"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index d5e7da2b501..65914f3a340 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ X86 XCore )
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-08-30 7:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-08-30 7:12 UTC (permalink / raw
To: gentoo-commits
commit: 9bedd1aaa96f43736062a70ffc7e2f7260249d50
Author: Leorize <alaviss <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Wed Aug 30 00:54:23 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 30 07:12:37 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9bedd1aa
sys-devel/llvm: Drop musl patches for 5.0+
No longer necessary, see: https://reviews.llvm.org/D33883
and https://reviews.llvm.org/D28476
Closes: https://github.com/gentoo/gentoo/pull/5555
sys-devel/llvm/llvm-5.0.9999.ebuild | 3 ---
sys-devel/llvm/llvm-9999.ebuild | 3 ---
2 files changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 1ee42880997..4be4936e076 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -81,9 +81,6 @@ src_prepare() {
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
- # support building llvm against musl-libc
- use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e6a3f23898b..818d169e198 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -83,9 +83,6 @@ src_prepare() {
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
- # support building llvm against musl-libc
- use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-09-08 17:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-09-08 17:30 UTC (permalink / raw
To: gentoo-commits
commit: bd4d8fc073e47294f049f86e051ed7617267249f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 8 08:57:56 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 8 17:30:24 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd4d8fc0
sys-devel/llvm: Remove unused elibc_musl flag
sys-devel/llvm/llvm-5.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 4be4936e076..10701c1ca62 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -36,7 +36,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
SLOT="$(get_major_version)"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi ncurses test
- elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
sys-libs/zlib:0=
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 818d169e198..ca558e0de2c 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -38,7 +38,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
SLOT="6"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi ncurses test
- elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
sys-libs/zlib:0=
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-09-08 17:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-09-08 17:30 UTC (permalink / raw
To: gentoo-commits
commit: 00beaa22375b5b974be57b7bda97984f4e28079c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 8 09:05:18 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 8 17:30:30 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00beaa22
sys-devel/llvm: Bump to 5.0.0
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-5.0.0.ebuild | 237 +++++++++++++++++++++++++++++++++++++++
2 files changed, 239 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f71229a70b1..b67e87306df 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -35,4 +35,6 @@ DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6
DIST llvm-3.9.1-patchset.tar.xz 16404 SHA256 a4b3e5887b53af47984ea39ff8640f11e8a9accbafd1be20fb9cf25f2980b16c SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089 WHIRLPOOL a9ec4315e8bb9593e6734e22a0d81fbe0398adedcfe7f6b81de852c1a1092593e07624a5ce7b67bca8be8b34c7453fda9f7eb33be41d11f51458800248a15649
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
DIST llvm-4.0.1.src.tar.xz 21065652 SHA256 da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51 SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d WHIRLPOOL 1626ff270f7ce4801d02a0797b227fda9314ff5c0c01d653111599e9a4d2854c4d9edc3c698a7abee8d79d6bce8b18dc619fbced3c07ca610d44a248d65830cc
+DIST llvm-5.0.0.src.tar.xz 23411980 SHA256 e35dcbae6084adcf4abb32514127c5eabd7d63b733852ccdb31e06f1373136da SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a WHIRLPOOL 6a99edbdc3e6726dc8ff9126b110fd7560faac46601407722e6dd80b5d894ff242521dc8fda7f4d879de83dac51c65645a37224f7e8def0d8d2f1e564b0531bb
DIST llvm-manpages-4.0.1.tar.bz2 87981 SHA256 28fa1dcd4774156247ba253d2d79c81796ef0f0763b4f37c9c5ae27af93f4320 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 WHIRLPOOL da897ea8d3713a5c4c10a6320f0e7dd13e0125e942e3444b0e8a2a062b83a8e86e3754be025b89ae00f63f557ec0518ab62d8cd21237962e93c708ca72c8e3f5
+DIST llvm-manpages-5.0.0.tar.bz2 94240 SHA256 5082c316cf09e6c15d76f0b184745bf3392d3fd42a56cf0a5119b45918a67cb9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea WHIRLPOOL 410fe9eda01519c7ded00b2ca61dd323bafb3418a0a81fdc5c3b60d64ee80b75a6372ea29eb66a1b1ce6bb020c011cff7d9e896469dd6f9534fc19fb5b5a4696
diff --git a/sys-devel/llvm/llvm-5.0.0.ebuild b/sys-devel/llvm/llvm-5.0.0.ebuild
new file mode 100644
index 00000000000..35512320595
--- /dev/null
+++ b/sys-devel/llvm/llvm-5.0.0.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(get_major_version)"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug +doc gold libedit +libffi ncurses test
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( sys-devel/llvmgold )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ ! use test \
+ || has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches
+ eapply_user
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-09-19 11:08 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-09-19 11:08 UTC (permalink / raw
To: gentoo-commits
commit: fc29ab72b5cf9b293ebb017c31411237da008e6b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 19 08:58:59 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 11:08:27 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc29ab72
sys-devel/llvm: Use eapi7-ver.eclass
sys-devel/llvm/llvm-5.0.9999.ebuild | 8 ++++----
sys-devel/llvm/llvm-9999.ebuild | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 10701c1ca62..14fb539b01c 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -8,8 +8,8 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs versionator
+inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(get_major_version)"
+SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug +doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
@@ -51,7 +51,7 @@ DEPEND="${RDEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index ca558e0de2c..c1fd48b6c2b 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -8,8 +8,8 @@ EAPI=6
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
-inherit cmake-utils flag-o-matic git-r3 multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs versionator
+inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -53,7 +53,7 @@ DEPEND="${RDEPEND}
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-10-01 9:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-10-01 9:03 UTC (permalink / raw
To: gentoo-commits
commit: db8d2d9af65d31b3c893e400626b5a6872f9cd12
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 21:32:02 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 09:02:18 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db8d2d9a
sys-devel/llvm: Fix using external lit
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index c1fd48b6c2b..f5b134b5333 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -139,7 +139,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
)
if multilib_is_native_abi; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-10-01 9:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-10-01 9:03 UTC (permalink / raw
To: gentoo-commits
commit: b466c02b671967be184badb5adab3debc3fc986e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 21:33:13 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 09:02:19 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b466c02b
sys-devel/llvm: Make the tests more verbose
sys-devel/llvm/llvm-9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index f5b134b5333..e86690a206c 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -140,6 +140,7 @@ multilib_src_configure() {
use test && mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv"
)
if multilib_is_native_abi; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-10-16 3:34 David Seifert
0 siblings, 0 replies; 860+ messages in thread
From: David Seifert @ 2017-10-16 3:34 UTC (permalink / raw
To: gentoo-commits
commit: a374f9a516fc5da2ab60fe1089074f379f356d74
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 16 03:24:37 2017 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Oct 16 03:24:37 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a374f9a5
sys-devel/llvm: [QA] Add cmake-utils_src_prepare
Package-Manager: Portage-2.3.11, Repoman-2.3.3
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 4 ++--
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 4 ++--
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 4 ++--
sys-devel/llvm/llvm-4.0.1.ebuild | 4 ++--
sys-devel/llvm/llvm-5.0.0.ebuild | 4 ++--
sys-devel/llvm/llvm-5.0.9999.ebuild | 4 ++--
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
7 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index a443825a626..89214c8b537 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -257,8 +257,8 @@ src_prepare() {
eapply "${WORKDIR}/${P}-patchset"/lldb/tinfo.patch
fi
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
index e6e60425a19..d0c0910eaf9 100644
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
@@ -262,8 +262,8 @@ src_prepare() {
eapply "${WORKDIR}/${P}-patchset"/lldb/six.patch
fi
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index 11188e4e124..76552025bb2 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -251,8 +251,8 @@ src_prepare() {
eapply "${WORKDIR}/${P}-patchset"/lldb/six.patch
fi
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
# Native libdir is used to hold LLVMgold.so
NATIVE_LIBDIR=$(get_libdir)
diff --git a/sys-devel/llvm/llvm-4.0.1.ebuild b/sys-devel/llvm/llvm-4.0.1.ebuild
index 0c5bec512cc..4e3e2dcbed0 100644
--- a/sys-devel/llvm/llvm-4.0.1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1.ebuild
@@ -87,8 +87,8 @@ src_prepare() {
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
}
multilib_src_configure() {
diff --git a/sys-devel/llvm/llvm-5.0.0.ebuild b/sys-devel/llvm/llvm-5.0.0.ebuild
index 35512320595..d699c29c5be 100644
--- a/sys-devel/llvm/llvm-5.0.0.ebuild
+++ b/sys-devel/llvm/llvm-5.0.0.ebuild
@@ -84,8 +84,8 @@ src_prepare() {
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
}
multilib_src_configure() {
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 14fb539b01c..9d4b6f4c4e4 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -84,8 +84,8 @@ src_prepare() {
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
}
multilib_src_configure() {
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e86690a206c..64f66a7d6c0 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -86,8 +86,8 @@ src_prepare() {
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
- # User patches
- eapply_user
+ # User patches + QA
+ cmake-utils_src_prepare
}
multilib_src_configure() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-11-12 9:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-11-12 9:27 UTC (permalink / raw
To: gentoo-commits
commit: 815f533bcd07ca6bf087a3f8e41c51b44c3e1a5b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 09:00:59 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 12 09:27:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=815f533b
sys-devel/llvm: Unify metadata.xml indentation
sys-devel/llvm/metadata.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 681eb777690..f532f3a746d 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -5,10 +5,10 @@
<email>llvm@gentoo.org</email>
</maintainer>
<longdescription>Low Level Virtual Machine (LLVM) is:
- 1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
- 2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
- 3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
- 4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
+ 1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
+ 2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
+ 3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
+ 4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
<use>
<flag name="clang">Build the clang C/C++ compiler</flag>
<flag name="default-compiler-rt">Use compiler-rt instead of libgcc as the default rtlib for clang</flag>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-11-12 9:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-11-12 9:27 UTC (permalink / raw
To: gentoo-commits
commit: 948cd2f9cd1634732f3e114b8179157a8df6b520
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 08:37:02 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 12 09:27:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=948cd2f9
sys-devel/llvm: Install missing Fuzzer libraries in 5.0.9999
Bug: https://bugs.gentoo.org/636840
sys-devel/llvm/llvm-5.0.9999.ebuild | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 9d4b6f4c4e4..cbd8b43b170 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -212,6 +212,11 @@ multilib_src_install() {
rm -rf "${ED%/}"/usr/include || die
mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+ # install fuzzer libraries for clang (cmake rules were added in 6)
+ # https://bugs.gentoo.org/636840
+ into "/usr/lib/llvm/${SLOT}"
+ dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
+
LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-11-16 21:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-11-16 21:52 UTC (permalink / raw
To: gentoo-commits
commit: bffe6a1dd3106ea8c2c1a1a0527f3f650c303341
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 16 16:53:29 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov 16 21:52:07 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bffe6a1d
sys-devel/llvm: Stop enforcing external lit for tests
Modify the ebuild to no longer enforce externally installed
dev-python/lit for tests, effectively causing the build system to use
the bundled copy of lit (along with llvm-lit). While using the external
package is more canonical, its disadvantages outweight the gain.
Most notably, lit is not slotted in Gentoo and the behavior of lit
frequently changes subtly which caused us to require a major version
match between LLVM and lit. As a result, attempting to build multiple
slots of LLVM with tests enabled cause package collisions. Building both
LLVM and lit simultaneously causes a circular dependency.
Since lit comes from the same package as LLVM itself and LLVM requires
explicit python-any-r1 use anyway, using the bundled copy has no added
cost. It reduces the risk of breakage resulting from skipping llvm-lit
wrapper and solves the forementioned problems caused by depending
on dev-python/lit.
The external package is still useful for projects that do not require
LLVM sources.
sys-devel/llvm/llvm-4.0.1.ebuild | 10 ----------
sys-devel/llvm/llvm-5.0.9999.ebuild | 10 ----------
sys-devel/llvm/llvm-9999.ebuild | 7 -------
3 files changed, 27 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.1.ebuild b/sys-devel/llvm/llvm-4.0.1.ebuild
index 4e3e2dcbed0..6eca3552280 100644
--- a/sys-devel/llvm/llvm-4.0.1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1.ebuild
@@ -53,7 +53,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
@@ -71,11 +70,6 @@ S=${WORKDIR}/${P/_/}.src
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
-python_check_deps() {
- ! use test \
- || has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -133,10 +127,6 @@ multilib_src_configure() {
)
# fi
- use test && mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
- )
-
if multilib_is_native_abi; then
mycmakeargs+=(
-DLLVM_BUILD_DOCS=$(usex doc)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index cbd8b43b170..3bf676e4360 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -55,7 +55,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
@@ -71,11 +70,6 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
-python_check_deps() {
- ! use test \
- || has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -133,10 +127,6 @@ multilib_src_configure() {
)
# fi
- use test && mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
- )
-
if multilib_is_native_abi; then
mycmakeargs+=(
-DLLVM_BUILD_DOCS=$(usex doc)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 64f66a7d6c0..af9daf563fa 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -57,7 +57,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
@@ -73,11 +72,6 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
-python_check_deps() {
- ! use test \
- || has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -139,7 +133,6 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-DLLVM_LIT_ARGS="-vv"
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-11-19 19:14 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2017-11-19 19:14 UTC (permalink / raw
To: gentoo-commits
commit: 8c3ca5fb4a752776f0036cc7d6f329b3a1ce94c0
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 19:03:28 2017 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 19:14:30 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c3ca5fb
sys-devel/llvm: x86 stable (bug #637210)
Package-Manager: Portage-2.3.13, Repoman-2.3.4
sys-devel/llvm/llvm-4.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-4.0.1.ebuild b/sys-devel/llvm/llvm-4.0.1.ebuild
index 6eca3552280..6ee123541ac 100644
--- a/sys-devel/llvm/llvm-4.0.1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 x86"
IUSE="debug +doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-11-29 17:50 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-11-29 17:50 UTC (permalink / raw
To: gentoo-commits
commit: 4cbf48ba978efcf340413f71af46d4e6b7efd4a6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 29 14:27:33 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 29 17:50:12 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cbf48ba
sys-devel/llvm: Drop unnecessary 3.8.1 version
sys-devel/llvm/Manifest | 11 +-
sys-devel/llvm/llvm-3.8.1-r2.ebuild | 578 ------------------------------------
2 files changed, 2 insertions(+), 587 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b67e87306df..a7ce94d288c 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,19 +2,15 @@ DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2d
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
-DIST cfe-3.8.1.src.tar.xz 9605548 SHA256 4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf SHA512 72d23a410271b50f97371b13dd7a6c6c5c0a993e35df436ab716ece8521d83406aa3d4bf8fdecd8154139f39fd5e011e480d405225d8c3ff152d0a2ac4573e04 WHIRLPOOL 7bcc9e6fed871b7490e2a280f2ad36008150a0af3605357fbe529aea8a7acbbed41c7da273dd150f8f50869cd321f114e909236261c4dd05ed7f644c75f208c4
DIST cfe-3.9.1.src.tar.xz 10363080 SHA256 e6c4cebb96dee827fa0470af313dff265af391cb6da8d429842ef208c8f25e63 SHA512 3f0eea194597e438bbe49ce9ef5fdced81459c21cbdd2653750b2fe02c55a0154d6a33a8cfd02e607b83314a8e35b2c300f944462120ab6de1d4139d85db56b8 WHIRLPOOL 9f70688c7c2857426bf5fbf039b9723ec73ec57e8d3b36da37589bcbdbdb090aa36cd1800f0521ef0c30065bf03083eade0ac81ef0939412919423db7779a6f8
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
-DIST clang-tools-extra-3.8.1.src.tar.xz 334768 SHA256 664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396 SHA512 ec8c4a6ac4fd1a0e24fc15e56ba00828e0d718c2f7bd477ea134ab094c67f4f4b2f603f128ec11a03b7f25f3e9b8fe75181e40730c56b7b683f54e3f37573137 WHIRLPOOL b05213cbe21b778e718233cecbf4d01b92c1f133eced6fdd3fa5059c4b10e5f0407549634f65032af177ba1614250f5c02e283c2b03563db3e227b1afcae424b
DIST clang-tools-extra-3.9.1.src.tar.xz 456464 SHA256 29a5b65bdeff7767782d4427c7c64d54c3a8684bc6b217b74a70e575e4813635 SHA512 5691fb09f80b519876cdd2e82ad23a20bba32a0bc356e15e6db631b2936763911f15ff55f8bf5f073100b9e4cf217f08fdce90ae98ef0e084274259d3cfe9634 WHIRLPOOL 1b1d877da04a2d8f93e3181b9b32caad23874a052c1e29bc66fddf29efb8edd69979400fcff40de00831d041383356fe7c37ddd63de8a206498baa65f7b79872
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325 WHIRLPOOL 0bea047e48622884a6fc6bb3826046e9de5b3192006cc41c0ccd9d6c611674869c3c15988b531a0f7d9fea2cf951b90ecef385b85db765c6f99a48692fdcf223
-DIST compiler-rt-3.8.1.src.tar.xz 1263312 SHA256 0df011dae14d8700499dfc961602ee0a9572fef926202ade5dcdfe7858411e5c SHA512 bed3da5f8594c4bf71af406419fbeaf7ed5d8bf46adb305233a298271d34a9af1072bcb47d474ac19bb862cc7c7bc9e1d89bc1567133553f29480030cad1cf75 WHIRLPOOL 950de96c57461c51ee9857dd56a858876f6bdb09f44ea1ec96c6f113d3499f5f3ddb90e86a8a6b50460577e1b4857da3dd6024eb3427d837630a2c4c678c360a
DIST compiler-rt-3.9.1.src.tar.xz 1376372 SHA256 d30967b1a5fa51a2503474aacc913e69fd05ae862d37bf310088955bdb13ec99 SHA512 91a4c78a5e8c1cdd2d6bbcb27d2c34f49ea30a952733444ef4f4a7cc7503c880d4b6924595e87745ef6278851178f49f98d38d2068975d4fb6577fb9e9cdcdbe WHIRLPOOL 06c55bbd9f79f1b3ee0adf058e6c540c3df5542337840d35e43e149d10605a95ba1363b360de25ebad41b048dd4e8f2aac25604b4f55f6a282fe01b014104d56
DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
-DIST lldb-3.8.1.src.tar.xz 10928220 SHA256 349148116a47e39dcb5d5042f10d8a6357d2c865034563283ca512f81cdce8a3 SHA512 d73c55daed6ef5e5ca784c7010f2d75be26024b14fa61a2861a8a6cbe129e417fb7be2a3b532e17e9d7de98ae38ce6a689d8166049eff365fb04f4bd772758f3 WHIRLPOOL 78dd8161cd1411bd62cb3ffe1196fe95ccb73d78f2e141a58c63776eb6d91065fe1348b1b8e241630cdf954ab659b333ebbcdcaeba3e6df36af62aaf3a7c6634
DIST lldb-3.9.1.src.tar.xz 13750816 SHA256 7e3311b2a1f80f4d3426e09f9459d079cab4d698258667e50a46dccbaaa460fc SHA512 e2957a1da60284595b21c205b07fa3db5c474bfad1935ab8e1bc832f30af497e9eb709efeb703591ef62e7dd73a28d22fc21398097a232c8a729946d72eb5df7 WHIRLPOOL ef4903cca78c6509602c72f37738326f0f0544275f068571d9bcfd1e26eb5fb4f78f5f41790a2696e045ac9d6f45adfdb7edd532ac41fd82565b50a6db93725e
DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6
DIST llvm-3.4.2-patchset.tar.gz 4612 SHA256 ec5d12763c0181ae0ff7485b08a69b621a988df278fcb3ae009551d637da824c SHA512 32c7cf229a6a8917f0fc67efa1fb11994945281f6906395cee7e5c51399c8fb4c06f554a03253c8f9073890a7bc7af151a8adfe887ad62f45f1523e6e358f769 WHIRLPOOL 408d1b2e55aa14acd3ae34918d164a53ebc3eddf8e3f8e77deb52acbab9e76bf94365d94c34ad6155d2537739a7fffab1b7f088be7d25ba77dd1796164f77721
@@ -28,13 +24,10 @@ DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f055
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358
DIST llvm-3.7.1-patchset.tar.gz 17234 SHA256 3add3f23c0eae09f52ac055362234a116da4fc1e5a7772cd9a90519549e9f096 SHA512 030dc7f72d11fcd53307f707d5dde321054feb0f0977601c3e188a37f2be6c14bfd05482d1c1e5f435aaf32ca7c7e3701cf5f1375fbd0cf83cf8afbad7f4f6be WHIRLPOOL fa5d3464ac6315dabac895b753918b0dbe301ef6d8e45a75934ba6b0ba947e30763d0522bd95b79ae4a714b1234bb08e654c0a9987fd74e692eeb2afe16694e8
DIST llvm-3.7.1.src.tar.xz 14592544 SHA256 be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5 SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90 WHIRLPOOL 788ce0907b906ebee595c766713bec5067563c8aba7460211f5830e116df7c830de84704834c0df2f2f2c90354d75521e4a4aff57e769a2d8ab590778c1e4a70
-DIST llvm-3.8.0-manpages.tar.bz2 37889 SHA256 4dda7f69f9412e0fb50d32631df34d6ea7f93c945c9a59cb050a99f1d2d0508b SHA512 a93ed7a25b75c237a0967ba7a501c71af3e7e9292ebabf69733bc637e9a4534dcaee539c6b1f6b2df7a87103c2371b1cf130fac05b88047100988c814e89ab0f WHIRLPOOL 9790a576fd4db798c2339bb4ea1dc973f1057177364770a104be7916998a1ad824e6b4eee296066ddd32eb5e6c57ffd5716457cecbd8ca9fe1b317d0d5ed2676
-DIST llvm-3.8.1-patchset.tar.xz 24260 SHA256 4a1677b5aff3a4ca8ccdbcc45e286e44d23867cbaa48a39cffc0fc2a8765ed6c SHA512 1e4ec68c56cc72a89afb573ad0c3cada10be7ec02e0af033a6c5cf8ce46ed7bf40389543c2f1b11e7080dba49962c57b4ea9f9bc971c4647eb3fd945c0cf0529 WHIRLPOOL 38c16b23f995818a6ca292e89d28f85ae6d19327bc0efe72270611077a7b76bca99b2e1f11b8653550bddee4123f2611621b86c4b81cdb8f96edc1cd4c5cfc4f
-DIST llvm-3.8.1.src.tar.xz 16551472 SHA256 6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9 SHA512 99bbb2cc5f337fd5edf1621f8028c8cb74011aa4af2531018dc05409b27f7b8d0c2f76a00115f677f7c013029d5d9f55d085a5b40433409aac4e9161d53bd366 WHIRLPOOL a99cef164a0e05e5237b840bee776d48fe0bde460cb4536f03a5e4eb0cc630deeb96f76bdd42f912a4b2dab08133bd9137ea16be1b9582d375f0f5841dd40234
DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 SHA256 991f5238d23c0aee2fd303d1adecd6045c42ed066f42f0d58f62c3a25c197140 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597 WHIRLPOOL d3f24a2faaa5aa909519373532262c342acf517048ac543f303b6ddb539f5ece876a338c8efc445f4ada6f723a4e65e35bd5f2f9b4f52ef96ef832000259ab20
DIST llvm-3.9.1-patchset.tar.xz 16404 SHA256 a4b3e5887b53af47984ea39ff8640f11e8a9accbafd1be20fb9cf25f2980b16c SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089 WHIRLPOOL a9ec4315e8bb9593e6734e22a0d81fbe0398adedcfe7f6b81de852c1a1092593e07624a5ce7b67bca8be8b34c7453fda9f7eb33be41d11f51458800248a15649
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
-DIST llvm-4.0.1.src.tar.xz 21065652 SHA256 da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51 SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d WHIRLPOOL 1626ff270f7ce4801d02a0797b227fda9314ff5c0c01d653111599e9a4d2854c4d9edc3c698a7abee8d79d6bce8b18dc619fbced3c07ca610d44a248d65830cc
-DIST llvm-5.0.0.src.tar.xz 23411980 SHA256 e35dcbae6084adcf4abb32514127c5eabd7d63b733852ccdb31e06f1373136da SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a WHIRLPOOL 6a99edbdc3e6726dc8ff9126b110fd7560faac46601407722e6dd80b5d894ff242521dc8fda7f4d879de83dac51c65645a37224f7e8def0d8d2f1e564b0531bb
+DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
+DIST llvm-5.0.0.src.tar.xz 23411980 BLAKE2B bc3d8b75b766c83912252b51d6b57c8151c9d83415eff7bc771923d35138ed253a788d6c8e0a384c5e78ce1a1065f10d66ef5004df163b4c3b0c6274bb3aa6b7 SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a
DIST llvm-manpages-4.0.1.tar.bz2 87981 SHA256 28fa1dcd4774156247ba253d2d79c81796ef0f0763b4f37c9c5ae27af93f4320 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 WHIRLPOOL da897ea8d3713a5c4c10a6320f0e7dd13e0125e942e3444b0e8a2a062b83a8e86e3754be025b89ae00f63f557ec0518ab62d8cd21237962e93c708ca72c8e3f5
DIST llvm-manpages-5.0.0.tar.bz2 94240 SHA256 5082c316cf09e6c15d76f0b184745bf3392d3fd42a56cf0a5119b45918a67cb9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea WHIRLPOOL 410fe9eda01519c7ded00b2ca61dd323bafb3418a0a81fdc5c3b60d64ee80b75a6372ea29eb66a1b1ce6bb020c011cff7d9e896469dd6f9534fc19fb5b5a4696
diff --git a/sys-devel/llvm/llvm-3.8.1-r2.ebuild b/sys-devel/llvm/llvm-3.8.1-r2.ebuild
deleted file mode 100644
index d0c0910eaf9..00000000000
--- a/sys-devel/llvm/llvm-3.8.1-r2.ebuild
+++ /dev/null
@@ -1,578 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.8.0-manpages.tar.bz2 )
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.xz"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not used): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- multitarget? ( LLVM-Grant )"
-SLOT="0/3.8.0"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
- lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
- video_cards_radeon elibc_musl kernel_Darwin kernel_FreeBSD"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- lldb? ( dev-python/six[${PYTHON_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/ocaml-ctypes:=
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( dev-ml/findlib
- test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- default-libcxx? ( sys-libs/libcxx )
- kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${WORKDIR}/${P}-patchset"/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${WORKDIR}/${P}-patchset"/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${WORKDIR}/${P}-patchset"/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${WORKDIR}/${P}-patchset"/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- eapply "${WORKDIR}/${P}-patchset"/0005-cmake-Do-not-install-libgtest.patch
-
- # Allow custom cmake build types (like 'Gentoo')
- eapply "${WORKDIR}/${P}-patchset"/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-r1.patch
-
- # Restore SOVERSIONs for shared libraries
- # https://bugs.gentoo.org/show_bug.cgi?id=578392
- eapply "${WORKDIR}/${P}-patchset"/0008-cmake-Restore-SOVERSIONs-on-shared-libraries.patch
-
- # support building llvm against musl-libc
- use elibc_musl && eapply "${WORKDIR}/${P}-patchset"/musl-fixes.patch
-
- # support "musl" as a valid environment type in llvm
- eapply "${WORKDIR}/${P}-patchset"/musl-env-support.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
-
- # Support gcc4.9 search paths
- # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3
- eapply "${WORKDIR}/${P}-patchset"/clang/gcc4.9-search-path.patch
-
- eapply "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- pushd "${S}"/tools/clang >/dev/null || die
- # be able to specify default values for -stdlib and -rtlib at build time
- eapply "${WORKDIR}/${P}-patchset"/clang/default-libs.patch
-
- # enable clang to recognize musl-libc
- eapply "${WORKDIR}/${P}-patchset"/clang/musl-support.patch
- popd >/dev/null || die
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${WORKDIR}/${P}-patchset"/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${WORKDIR}/${P}-patchset"/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- # Fix 'stdarg.h' file not found on Gentoo/FreeBSD, bug #578064
- # https://llvm.org/bugs/show_bug.cgi?id=26651
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/fbsd.patch
-
- # Backport abi-tag support, bug #571600
- eapply "${WORKDIR}/${P}-patchset"/clang/abi-tag-support-sema.patch
- eapply "${WORKDIR}/${P}-patchset"/clang/abi-tag-support-mangler.patch
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- # Do not install bundled six module
- eapply "${WORKDIR}/${P}-patchset"/lldb/six.patch
- fi
-
- # User patches + QA
- cmake-utils_src_prepare
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # override default stdlib and rtlib
- -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
- -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
-
- # compiler-rt's test cases depend on sanitizer
- -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
- -DCOMPILER_RT_INCLUDE_TESTS=$(usex sanitize)
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
- )
-
- if use clang; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.8.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
- fi
- fi
-}
-
-pkg_postinst() {
- if use clang && ! has_version 'sys-libs/libomp'; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-01 23:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-01 23:40 UTC (permalink / raw
To: gentoo-commits
commit: 40c027ef5886a3c1a949ae22dda2d1cc257c20f9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 1 09:57:45 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 1 23:40:27 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40c027ef
sys-devel/llvm: Bump to 5.0.1_rc2
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-5.0.1_rc2.ebuild | 232 +++++++++++++++++++++++++++++++++++
2 files changed, 233 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a7ce94d288c..f732e737bce 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -29,5 +29,6 @@ DIST llvm-3.9.1-patchset.tar.xz 16404 SHA256 a4b3e5887b53af47984ea39ff8640f11e8a
DIST llvm-3.9.1.src.tar.xz 18130436 SHA256 1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683 WHIRLPOOL 1cd1a25befcb178bec4a4aace4367167f3838d32edbe9db9de8c6e558c01c1fcf123f6d6f80b7ec9ff32b3d6dcf2de2f4eb4201d417c3d17a5c8a69934832903
DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
DIST llvm-5.0.0.src.tar.xz 23411980 BLAKE2B bc3d8b75b766c83912252b51d6b57c8151c9d83415eff7bc771923d35138ed253a788d6c8e0a384c5e78ce1a1065f10d66ef5004df163b4c3b0c6274bb3aa6b7 SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a
+DIST llvm-5.0.1rc2.src.tar.xz 23508164 BLAKE2B 3594d1658310a99787b4ff6f85aa8dd12a0405464bcb095ba4f205ce5b4ed3240a8ae1bef726ff98aba61ae5c8f8c10eeb8e415320d210af60f9e74bff7a8d5c SHA512 0a156e3949d22304b5e173dc9a3628161dff2798ad67924341c11494544350ef3a35a3ebb6ec8e7223b2407ce47cf12dafa6de8c006c5799a620e35a86c30b1b
DIST llvm-manpages-4.0.1.tar.bz2 87981 SHA256 28fa1dcd4774156247ba253d2d79c81796ef0f0763b4f37c9c5ae27af93f4320 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 WHIRLPOOL da897ea8d3713a5c4c10a6320f0e7dd13e0125e942e3444b0e8a2a062b83a8e86e3754be025b89ae00f63f557ec0518ab62d8cd21237962e93c708ca72c8e3f5
DIST llvm-manpages-5.0.0.tar.bz2 94240 SHA256 5082c316cf09e6c15d76f0b184745bf3392d3fd42a56cf0a5119b45918a67cb9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea WHIRLPOOL 410fe9eda01519c7ded00b2ca61dd323bafb3418a0a81fdc5c3b60d64ee80b75a6372ea29eb66a1b1ce6bb020c011cff7d9e896469dd6f9534fc19fb5b5a4696
diff --git a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
new file mode 100644
index 00000000000..374656b01b2
--- /dev/null
+++ b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug +doc gold libedit +libffi ncurses test
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( sys-devel/llvmgold )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ # install fuzzer libraries for clang (cmake rules were added in 6)
+ # https://bugs.gentoo.org/636840
+ into "/usr/lib/llvm/${SLOT}"
+ dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-11 20:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-11 20:44 UTC (permalink / raw
To: gentoo-commits
commit: 2dc74e73c0f7d6588153c9e4ae2130928596e05b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 20:36:26 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 20:44:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dc74e73
sys-devel/llvm: Do not enable docs by default
Reported by leio.
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 2 +-
sys-devel/llvm/llvm-5.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-5.0.1_rc2.ebuild | 2 +-
sys-devel/llvm/llvm-5.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 1931365e8a7..f503dcebab2 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
KEYWORDS="~amd64 ~arm ~arm64 x86"
-IUSE="debug +doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-5.0.0.ebuild b/sys-devel/llvm/llvm-5.0.0.ebuild
index d699c29c5be..d17069e4d37 100644
--- a/sys-devel/llvm/llvm-5.0.0.ebuild
+++ b/sys-devel/llvm/llvm-5.0.0.ebuild
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="debug +doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
index 42978ec5cce..9aea6642c97 100644
--- a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
@@ -33,7 +33,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug +doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 2c8a9d8ecf0..0e76b0add93 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug +doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index af9daf563fa..2cfb454f37a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -37,7 +37,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="6"
KEYWORDS=""
-IUSE="debug +doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-13 16:50 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-13 16:50 UTC (permalink / raw
To: gentoo-commits
commit: 8126e9875bc1c90cc78b4952eea57605b0277a0e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 13 16:38:11 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 13 16:50:38 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8126e987
sys-devel/llvm: Comment out manpage install for RCs
Closes: https://bugs.gentoo.org/640906
sys-devel/llvm/llvm-5.0.1_rc2.ebuild | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
index 9aea6642c97..a52f8631f7b 100644
--- a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
@@ -226,11 +226,11 @@ _EOF_
doenvd "${T}/10llvm-${revord}"
# install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
- fi
+# if ! use doc; then
+# # (doman does not support custom paths)
+# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+# doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
+# fi
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-14 22:31 Matt Turner
0 siblings, 0 replies; 860+ messages in thread
From: Matt Turner @ 2017-12-14 22:31 UTC (permalink / raw
To: gentoo-commits
commit: 3bbe3f25180aab2b9ea0b471084941b090702899
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 14 22:30:29 2017 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 22:30:29 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bbe3f25
sys-devel/llvm-4.0.1-r1: amd64 stable, bug 637210
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index f503dcebab2..ea10dd5fef7 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
-KEYWORDS="~amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="debug doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-15 16:20 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-15 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 7770e555a687c7034a368129cb4d001462c33f5c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 15:54:45 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 16:20:11 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7770e555
sys-devel/llvm: Restrict tests with USE=-test
sys-devel/llvm/llvm-5.0.9999.ebuild | 1 +
sys-devel/llvm/llvm-9999.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
index 0e76b0add93..f41a0c96c02 100644
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-5.0.9999.ebuild
@@ -37,6 +37,7 @@ SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 2cfb454f37a..5b5d0364ea2 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -39,6 +39,7 @@ SLOT="6"
KEYWORDS=""
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-20 20:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-20 20:58 UTC (permalink / raw
To: gentoo-commits
commit: 849e14c28cd1743b443c7d8b41b61c1b4a56f2fa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 20 19:16:28 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 20 20:58:40 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=849e14c2
sys-devel/llvm: Bump to 5.0.1 (final)
Closes: https://bugs.gentoo.org/617154
Closes: https://bugs.gentoo.org/636840
sys-devel/llvm/Manifest | 3 ++-
.../llvm/{llvm-5.0.1_rc2.ebuild => llvm-5.0.1.ebuild} | 16 ++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 836aa74c2f3..c7026530114 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -29,6 +29,7 @@ DIST llvm-3.9.1-patchset.tar.xz 16404 BLAKE2B 9c9d630e6c6a70ba6a026a6ecb7a7d29a5
DIST llvm-3.9.1.src.tar.xz 18130436 BLAKE2B 90afd2c06e612132bbc84c29fed59abdfdaed41f8a7590e3f60ba5072179317365f15f301f577ba050b78797f682bef8fa85ebad7391fd3e67b46eb02a5df068 SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683
DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
DIST llvm-5.0.0.src.tar.xz 23411980 BLAKE2B bc3d8b75b766c83912252b51d6b57c8151c9d83415eff7bc771923d35138ed253a788d6c8e0a384c5e78ce1a1065f10d66ef5004df163b4c3b0c6274bb3aa6b7 SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a
-DIST llvm-5.0.1rc2.src.tar.xz 23508164 BLAKE2B 3594d1658310a99787b4ff6f85aa8dd12a0405464bcb095ba4f205ce5b4ed3240a8ae1bef726ff98aba61ae5c8f8c10eeb8e415320d210af60f9e74bff7a8d5c SHA512 0a156e3949d22304b5e173dc9a3628161dff2798ad67924341c11494544350ef3a35a3ebb6ec8e7223b2407ce47cf12dafa6de8c006c5799a620e35a86c30b1b
+DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
+DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
DIST llvm-manpages-5.0.0.tar.bz2 94240 BLAKE2B 1657edefa2e839f401b7c30ba1c0cfde45bcb0fa9bcfc3ea6070bc0addc237be898c5a79e54b2120f98b2a9550ab286cfd0bc835751a4e8cc30005d4081fb9f9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea
diff --git a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
similarity index 95%
rename from sys-devel/llvm/llvm-5.0.1_rc2.ebuild
rename to sys-devel/llvm/llvm-5.0.1.ebuild
index a52f8631f7b..ca00fa16d34 100644
--- a/sys-devel/llvm/llvm-5.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -13,8 +13,8 @@ inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
@@ -226,11 +226,11 @@ _EOF_
doenvd "${T}/10llvm-${revord}"
# install pre-generated manpages
-# if ! use doc; then
-# # (doman does not support custom paths)
-# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
-# doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
-# fi
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2017-12-21 21:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2017-12-21 21:01 UTC (permalink / raw
To: gentoo-commits
commit: 1f09270b0244139d753212fcaa3e5497a1cbf17d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 17:58:32 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 21:00:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f09270b
sys-devel/llvm: Remove live ebuild for obsolete 5.0 branch
sys-devel/llvm/llvm-5.0.9999.ebuild | 230 ------------------------------------
1 file changed, 230 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.9999.ebuild b/sys-devel/llvm/llvm-5.0.9999.ebuild
deleted file mode 100644
index f41a0c96c02..00000000000
--- a/sys-devel/llvm/llvm-5.0.9999.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
-EGIT_BRANCH="release_50"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc gold libedit +libffi ncurses test
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Backport the fix for dlclose() causing option parser mess
- # e.g. https://bugs.gentoo.org/617154
- eapply "${FILESDIR}"/5.0.1/0001-cmake-Pass-Wl-z-nodelete-on-Linux-to-prevent-unloadi.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- # install fuzzer libraries for clang (cmake rules were added in 6)
- # https://bugs.gentoo.org/636840
- into "/usr/lib/llvm/${SLOT}"
- dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
-_EOF_
- doenvd "${T}/10llvm-${revord}"
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-03 14:51 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2018-01-03 14:51 UTC (permalink / raw
To: gentoo-commits
commit: fc10d0127628fa44160923e0624b362f11f386ad
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 14:50:00 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 14:50:00 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc10d012
sys-devel/llvm: marked *-macos
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/llvm/llvm-5.0.1.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 07f074168c8..6fd493f8e9c 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-03 22:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-03 22:21 UTC (permalink / raw
To: gentoo-commits
commit: 88614750d54f4fb38a26d775a44166eafe87f40a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 20:18:15 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 22:21:35 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88614750
sys-devel/llvm: Add a live ebuild for 6.0 branch
sys-devel/llvm/llvm-6.0.9999.ebuild | 231 ++++++++++++++++++++++++++++++++++++
1 file changed, 231 insertions(+)
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
new file mode 100644
index 00000000000..0164813c3fc
--- /dev/null
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
+ https://github.com/llvm-mirror/llvm.git"
+EGIT_BRANCH="release_60"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV WebAssembly )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc gold libedit +libffi ncurses test
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
+ kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( sys-devel/llvmgold )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-03 22:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-03 22:21 UTC (permalink / raw
To: gentoo-commits
commit: c2a2231dee6daabc694fc54d1153c51f90061fb5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 20:19:11 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 22:21:36 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2a2231d
sys-devel/llvm: Update slot for master to 7
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 5b5d0364ea2..291effce5fe 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="6"
+SLOT="7"
KEYWORDS=""
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-05 12:52 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2018-01-05 12:52 UTC (permalink / raw
To: gentoo-commits
commit: 8529f4a85402472f705143a735194350fd1c8321
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 5 12:52:10 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 12:52:25 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8529f4a8
sys-devel/llvm: add patches for powerpc-apple-darwin9
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 465993b1fcf..bdeea382989 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -13,6 +13,7 @@ DIST compiler-rt-3.9.1.src.tar.xz 1376372 BLAKE2B 1c7391a429329591d96e474c9ac5b3
DIST lldb-3.7.1.src.tar.xz 10650524 BLAKE2B 432e7064f4f48b62b96c80ca184fc2a69ac7e2ee62d14020017c01659aa15299b5f5c47852855b1ff12606d264c1cccf9a31b5818909dd779c8f353df62d12dc SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1
DIST lldb-3.9.1.src.tar.xz 13750816 BLAKE2B 40bd2797e1e06f600cdd88ba56af8e3c315cd9f2bc2ca12c3172623ae16750f051f9e6d76df354a3fc0c6a4fb802fa842952e1ff1d47a28f5cd218546da89563 SHA512 e2957a1da60284595b21c205b07fa3db5c474bfad1935ab8e1bc832f30af497e9eb709efeb703591ef62e7dd73a28d22fc21398097a232c8a729946d72eb5df7
DIST llvm-3.4-manpages.tar.bz2 33753 BLAKE2B b6a57cc492d133eddad08507521395f8c4cd6c7609b6134e61c330045d68a222bee88f8d0ab7883654db55157b185b59690ca3024957ddaaaa3054fcb9ccf831 SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d
+DIST llvm-3.4-patchset-darwin-leopard.tar.gz 7704 BLAKE2B a46dacae703b19ad2876d3f1f4f59ca12be96e2368d35d2578d4d67e4ea28051e37279e79cd5169f63277ba4d591d2ac8baf3a6f6af6b45e1019c4aa83f1515d SHA512 1f34ef6a20fe09e6de473bd15f9ef30e3d7a16a5a9fdb62d88d1ac22ffc31a2a7814e0a2e677b21dbf0865241786aa2b8b4646737cede1765c8f3c6b5202fccc
DIST llvm-3.4.2-patchset.tar.gz 4612 BLAKE2B e7be0957dac5ceae7e81beef2dbb914554809095fd4857d45809b00ae06f297649f8a5e7baaa1602b711b678120ca18aee1f60413136d0572c8226f7fabae03e SHA512 32c7cf229a6a8917f0fc67efa1fb11994945281f6906395cee7e5c51399c8fb4c06f554a03253c8f9073890a7bc7af151a8adfe887ad62f45f1523e6e358f769
DIST llvm-3.4.2.src.tar.gz 15938155 BLAKE2B 51b2f5e04f448d71fdd757a84c71157de0f9958aace6e8837971e3c62f2b017387b1bc8b310bacfae137b48501d25be8decb4ffa3caa7fcd0083a73c4c65949e SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0
DIST llvm-3.5.0-manpages.tar.bz2 35314 BLAKE2B 5368ddc4471d4ebf7e6f2bbd6525293dc8f6300fecf9a303e344b4e5415e5e04e9a9d0fbd636b2a1b554e8a55a69e4306842491ad3cc7c4c227b6ac35f52cc8b SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index c533ef6f68e..430d90928c0 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -13,7 +13,8 @@ SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.gz
clang? ( https://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
https://dev.gentoo.org/~mgorny/dist/llvm/${PN}-3.4-manpages.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
+ https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-3.4-patchset-darwin-leopard.tar.gz"
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
@@ -105,6 +106,11 @@ src_prepare() {
epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
+
+ if [[ ${CHOST} == *-darwin8 ]] || [[ ${CHOST} == *-darwin9 ]] ; then
+ EPATCH_SOURCE="${WORKDIR}"/${PN}-3.4-patchset-darwin-leopard \
+ EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
+ fi
epatch "${WORKDIR}/${P}-patchset"/clang/darwin_build_fix.patch
epatch "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-06 16:18 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2018-01-06 16:18 UTC (permalink / raw
To: gentoo-commits
commit: 5630322c8afc6ef58f96aeff35e85d6d1b6649e4
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 6 16:17:32 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Jan 6 16:17:53 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5630322c
sys-devel/llvm: avoid darwin8 patch in 3.4.2 elsewhere
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index 430d90928c0..c555e99f973 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -107,6 +107,11 @@ src_prepare() {
epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
+ if [[ ${CHOST} != *-darwin8 ]] ; then
+ # Darwin8/Tiger-only patch
+ rm "${WORKDIR}"/${PN}-3.4-patchset-darwin-leopard/0006-* || die
+ fi
+
if [[ ${CHOST} == *-darwin8 ]] || [[ ${CHOST} == *-darwin9 ]] ; then
EPATCH_SOURCE="${WORKDIR}"/${PN}-3.4-patchset-darwin-leopard \
EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-08 17:21 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2018-01-08 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 52ebadc88d4f857f72911050b5717528241750bc
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 17:21:24 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 17:21:40 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52ebadc8
sys-devel/llvm: get compiler_rt working on ppc
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
index c555e99f973..5b59202f359 100644
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
@@ -119,11 +119,17 @@ src_prepare() {
epatch "${WORKDIR}/${P}-patchset"/clang/darwin_build_fix.patch
epatch "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
- fi
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
+ if use prefix ; then
+ sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
+ projects/compiler-rt/make/platform/clang_*.mk || die
+ fi
+ if [[ ${CHOST} == powerpc*-apple-darwin* ]] ; then
+ # set ppc as arch for compiler_rt
+ local arch=${CHOST%%-*}
+ sed -i -e '/^UniversalArchs/s/:=.*$/:= '${arch/ower/}'/' \
+ projects/compiler-rt/make/platform/clang_darwin*.mk || die
+ fi
fi
local sub_files=(
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-09 14:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-09 14:34 UTC (permalink / raw
To: gentoo-commits
commit: d228da4ab9e46092f1a65b1fd7d1ad7a6c0f46e7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 9 14:32:17 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 9 14:34:39 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d228da4a
sys-devel/llvm: Remove experimental targets from the release branch
sys-devel/llvm/llvm-6.0.9999.ebuild | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 0164813c3fc..c349ca3d09a 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -18,12 +18,9 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
EGIT_BRANCH="release_60"
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV WebAssembly )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
@@ -102,10 +99,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
-DLLVM_ENABLE_FFI=$(usex libffi)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-09 20:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-09 20:02 UTC (permalink / raw
To: gentoo-commits
commit: 488777c21e738850c5d10ca0db1103d49452b015
Author: Bjorn Pagen <bjornpagen <AT> gmail <DOT> com>
AuthorDate: Mon Jan 8 02:05:16 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 9 20:02:18 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=488777c2
sys-devel/llvm: remove implicit dependency on binutils
Closes: https://github.com/gentoo/gentoo/pull/6789
sys-devel/llvm/llvm-5.0.1.ebuild | 6 ++++--
sys-devel/llvm/llvm-6.0.9999.ebuild | 6 ++++--
sys-devel/llvm/llvm-9999.ebuild | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 6fd493f8e9c..905581b7ce8 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -49,8 +49,10 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index c349ca3d09a..14f04fb4037 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -51,8 +51,10 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 291effce5fe..01532f304bf 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -53,8 +53,10 @@ DEPEND="${RDEPEND}
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-17 22:14 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-01-17 22:14 UTC (permalink / raw
To: gentoo-commits
commit: 759d3f6abaf7e63ead8a0e4a1a2038ca40012b2e
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 17 22:02:30 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 22:13:56 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=759d3f6a
sys-devel/llvm: amd64 stable wrt bug #644814
Package-Manager: Portage-2.3.19, Repoman-2.3.6
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 905581b7ce8..949988d12d1 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-18 19:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-18 19:10 UTC (permalink / raw
To: gentoo-commits
commit: e556d14f968ac70add92022cf85aed9b69bc012d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 18:14:11 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 19:10:21 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e556d14f
sys-devel/llvm: Add USE flag to control libxml2 use (to LLVM 6+)
sys-devel/llvm/llvm-6.0.9999.ebuild | 6 ++++--
sys-devel/llvm/llvm-9999.ebuild | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 14f04fb4037..03eed722f8d 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -44,7 +44,8 @@ RDEPEND="
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -107,6 +108,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_FFI=$(usex libffi)
-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 01532f304bf..275fb80a6bd 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -37,7 +37,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="7"
KEYWORDS=""
-IUSE="debug doc gold libedit +libffi ncurses test
+IUSE="debug doc gold libedit +libffi ncurses test xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -46,7 +46,8 @@ RDEPEND="
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -112,6 +113,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_FFI=$(usex libffi)
-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-18 21:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-18 21:25 UTC (permalink / raw
To: gentoo-commits
commit: 3d7dc2a2a108b6b1b77a135d30dd6a09c2a53cee
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 21:05:16 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 21:25:14 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d7dc2a2
sys-devel/llvm: Drop old (5.0.0)
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-5.0.0.ebuild | 237 ---------------------------------------
2 files changed, 239 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index bdeea382989..707222e9ead 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -29,9 +29,7 @@ DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 BLAKE2B e770497834a5863f5c988d3bae8ef
DIST llvm-3.9.1-patchset.tar.xz 16404 BLAKE2B 9c9d630e6c6a70ba6a026a6ecb7a7d29a567e6b85fc92ce128a8129006ccad44defc07a46351dfa188128a91d419696f6c36a0e184a04f9d1270d5431cbd59f5 SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089
DIST llvm-3.9.1.src.tar.xz 18130436 BLAKE2B 90afd2c06e612132bbc84c29fed59abdfdaed41f8a7590e3f60ba5072179317365f15f301f577ba050b78797f682bef8fa85ebad7391fd3e67b46eb02a5df068 SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683
DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
-DIST llvm-5.0.0.src.tar.xz 23411980 BLAKE2B bc3d8b75b766c83912252b51d6b57c8151c9d83415eff7bc771923d35138ed253a788d6c8e0a384c5e78ce1a1065f10d66ef5004df163b4c3b0c6274bb3aa6b7 SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a
DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
-DIST llvm-manpages-5.0.0.tar.bz2 94240 BLAKE2B 1657edefa2e839f401b7c30ba1c0cfde45bcb0fa9bcfc3ea6070bc0addc237be898c5a79e54b2120f98b2a9550ab286cfd0bc835751a4e8cc30005d4081fb9f9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea
diff --git a/sys-devel/llvm/llvm-5.0.0.ebuild b/sys-devel/llvm/llvm-5.0.0.ebuild
deleted file mode 100644
index d17069e4d37..00000000000
--- a/sys-devel/llvm/llvm-5.0.0.ebuild
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils flag-o-matic multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs versionator
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(get_major_version)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="debug doc gold libedit +libffi ncurses test
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-
-RDEPEND="
- sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-$(get_version_component_range 1-3).9999 )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- ! use test \
- || has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLIT_COMMAND="${EPREFIX}/usr/bin/lit"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
-_EOF_
- doenvd "${T}/10llvm-${revord}"
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/llvm-manpages-${PV}/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-19 22:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-19 22:21 UTC (permalink / raw
To: gentoo-commits
commit: 5bcc52f047db4438cd7427a094dcbb06bb2d4513
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 19:50:48 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 22:21:43 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bcc52f0
sys-devel/llvm: Fix implicit dependency on app-arch/libxar
Support conditionally using app-arch/libxar in LLVM 6+, and explicitly
force it off in LLVM 5. This library is used only to dump LLVM bitcode
in Mach-O files and it's very rare, so we can safely presume that nobody
really used it and it's not worth rebuild due to revbumping LLVM 5.
Closes: https://bugs.gentoo.org/645038
sys-devel/llvm/llvm-5.0.1.ebuild | 1 +
sys-devel/llvm/llvm-6.0.9999.ebuild | 5 ++++-
sys-devel/llvm/llvm-9999.ebuild | 5 ++++-
sys-devel/llvm/metadata.xml | 2 ++
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 949988d12d1..f1eff0e8a3d 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -122,6 +122,7 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ -DHAVE_LIBXAR=0
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 03eed722f8d..f89769dc283 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc gold libedit +libffi ncurses test xml
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -45,6 +45,7 @@ RDEPEND="
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
@@ -119,6 +120,8 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 275fb80a6bd..d1550613720 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -37,7 +37,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="7"
KEYWORDS=""
-IUSE="debug doc gold libedit +libffi ncurses test xml
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -47,6 +47,7 @@ RDEPEND="
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
@@ -124,6 +125,8 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index f532f3a746d..66c9caef166 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -20,5 +20,7 @@
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
<flag name="sanitize">Build compiler-rt's sanitizers</flag>
<flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag>
+ <flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
+ (uses <pkg>app-arch/libxar</pkg>)</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-20 8:54 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-20 8:54 UTC (permalink / raw
To: gentoo-commits
commit: c1deb791f7842a3863f796aa140d7a08f97fd8ec
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 20 08:50:03 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 08:54:41 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1deb791
sys-devel/llvm: Fix metadata.xml app-arch/libxar -> /xar
Spotted by Fabian Groffen.
sys-devel/llvm/metadata.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 66c9caef166..e3546184271 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -21,6 +21,6 @@
<flag name="sanitize">Build compiler-rt's sanitizers</flag>
<flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag>
<flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
- (uses <pkg>app-arch/libxar</pkg>)</flag>
+ (uses <pkg>app-arch/xar</pkg>)</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-28 11:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-01-28 11:27 UTC (permalink / raw
To: gentoo-commits
commit: 48c0875ad17e2e396e9094e2958f83bbbec65e51
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 28 11:26:42 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 28 11:26:58 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48c0875a
sys-devel/llvm: Require LLVMgold new enough to handle the bitcode
Raise the dependency on sys-devel/llvmgold so that a version new enough
to handle bitcode of all installed LLVM versions is always used.
Closes: https://bugs.gentoo.org/645824
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 2 +-
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index ea10dd5fef7..91367925dfa 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -60,7 +60,7 @@ DEPEND="${RDEPEND}
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )"
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index f1eff0e8a3d..de5bfd4188d 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -63,7 +63,7 @@ DEPEND="${RDEPEND}
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )"
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index f89769dc283..a0f997bfbd7 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -67,7 +67,7 @@ DEPEND="${RDEPEND}
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index d1550613720..85c7b23b987 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -69,7 +69,7 @@ DEPEND="${RDEPEND}
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( sys-devel/llvmgold )"
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-01-29 1:06 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2018-01-29 1:06 UTC (permalink / raw
To: gentoo-commits
commit: 7c52972c398ddfa1cbbcca0d39380597b3e44560
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 29 00:36:20 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jan 29 00:36:20 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c52972c
sys-devel/llvm: x86 stable (bug #644814)
Package-Manager: Portage-2.3.20, Repoman-2.3.6
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index de5bfd4188d..3ed4a1f47f0 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-02-02 9:05 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2018-02-02 9:05 UTC (permalink / raw
To: gentoo-commits
commit: b81cfa24cd154d1cbd8cb485ba75a336717974b5
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 2 08:59:37 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Feb 2 09:05:31 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b81cfa24
sys-devel/llvm: marked ~amd64-linux
Package-Manager: Portage-2.3.19, Repoman-2.3.6
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 3ed4a1f47f0..c4ebf78be0a 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-02-09 16:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-02-09 16:00 UTC (permalink / raw
To: gentoo-commits
commit: 1b7805381006b3738dff76c39ff4b93099de9d05
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 9 09:50:49 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 9 15:59:57 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b780538
sys-devel/llvm: Bump to 6.0.0rc2
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-6.0.0_rc2.ebuild | 239 +++++++++++++++++++++++++++++++++++
2 files changed, 240 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 707222e9ead..caabb01e28b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -32,4 +32,5 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10
DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
+DIST llvm-6.0.0rc2.src.tar.xz 25288140 BLAKE2B 095f054ce2ccb1eee3def2b8c6cecc610c4392283062338aa20d2de33c951484a2dc6774db2727e19e879307cfc95dda2730185cde8e52f4f45851d8dd809b3e SHA512 3cb3521ba8d90bf2a90c49d753ab5e92f1e0ccfc86946f3767c06d0f276e2c4cf8ff2f984680835efbaa4dae1cd2d3a074468e547785e05a67ea55311b94a0e9
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-6.0.0_rc2.ebuild b/sys-devel/llvm/llvm-6.0.0_rc2.ebuild
new file mode 100644
index 00000000000..5656b68b8b5
--- /dev/null
+++ b/sys-devel/llvm/llvm-6.0.0_rc2.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+# if ! use doc; then
+# # (doman does not support custom paths)
+# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+# fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-02-25 19:09 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-02-25 19:09 UTC (permalink / raw
To: gentoo-commits
commit: 1e414463fb8a3d00d5f15f86680f41b0a67e28b4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 25 19:09:04 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 25 19:09:23 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e414463
sys-devel/llvm: Install libFuzzer only for Darwin||Linux
Install libFuzzer only on platforms where it is actually built, that
is Darwin and Linux. This fixes install failure on FreeBSD.
sys-devel/llvm/llvm-5.0.1.ebuild | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index c4ebf78be0a..809795ffd0a 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+ kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
sys-libs/zlib:0=
@@ -211,10 +211,12 @@ multilib_src_install() {
rm -rf "${ED%/}"/usr/include || die
mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
- # install fuzzer libraries for clang (cmake rules were added in 6)
- # https://bugs.gentoo.org/636840
- into "/usr/lib/llvm/${SLOT}"
- dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
+ if use kernel_linux || use kernel_Darwin; then
+ # install fuzzer libraries for clang (cmake rules were added in 6)
+ # https://bugs.gentoo.org/636840
+ into "/usr/lib/llvm/${SLOT}"
+ dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
+ fi
LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-02-26 14:05 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-02-26 14:05 UTC (permalink / raw
To: gentoo-commits
commit: 7b21cf1ed5783ef92cadd06e9cf5cb987b44e778
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 26 14:01:38 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Feb 26 14:05:40 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b21cf1e
sys-devel/llvm: Bump to 6.0.0rc3
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/{llvm-6.0.0_rc2.ebuild => llvm-6.0.0_rc3.ebuild} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index caabb01e28b..8377b3f8284 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -32,5 +32,5 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10
DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
-DIST llvm-6.0.0rc2.src.tar.xz 25288140 BLAKE2B 095f054ce2ccb1eee3def2b8c6cecc610c4392283062338aa20d2de33c951484a2dc6774db2727e19e879307cfc95dda2730185cde8e52f4f45851d8dd809b3e SHA512 3cb3521ba8d90bf2a90c49d753ab5e92f1e0ccfc86946f3767c06d0f276e2c4cf8ff2f984680835efbaa4dae1cd2d3a074468e547785e05a67ea55311b94a0e9
+DIST llvm-6.0.0rc3.src.tar.xz 25295644 BLAKE2B 5832b3daefbbf043caaac38791eb95a321cbee82bfa12710e332ea14b8ee6d1fe81c4fcea19cdbabd24b89e338575e367bab481c47eb6a6bfbd6a926f02fe5b2 SHA512 9932debae40ced0137c1e1675fb91b996326c7eed1b67d1280bd2b0f5bd62e15d47c87d0e215fe29680cb628853c6a446587623a6f3312ce42612b2ac865e3cd
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-6.0.0_rc2.ebuild b/sys-devel/llvm/llvm-6.0.0_rc3.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-6.0.0_rc2.ebuild
rename to sys-devel/llvm/llvm-6.0.0_rc3.ebuild
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-08 22:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-08 22:19 UTC (permalink / raw
To: gentoo-commits
commit: 6f92382169da4cd3942b866af9191ffa309afc96
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 8 21:58:35 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 8 22:18:53 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f923821
sys-devel/llvm: Control lit job count
Closes: https://bugs.gentoo.org/649554
sys-devel/llvm/llvm-6.0.9999.ebuild | 4 ++--
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index a0f997bfbd7..d460300fe42 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -9,7 +9,7 @@ CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
- pax-utils python-any-r1 toolchain-funcs
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -136,7 +136,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv"
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
if multilib_is_native_abi; then
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 85c7b23b987..ca30a2f3e4f 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -9,7 +9,7 @@ CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
- pax-utils python-any-r1 toolchain-funcs
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -141,7 +141,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv"
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
if multilib_is_native_abi; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-09 14:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-09 14:58 UTC (permalink / raw
To: gentoo-commits
commit: 1ca1d52deefca71a771cb4d803f8041ebefd6200
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 9 08:33:15 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 9 14:58:25 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ca1d52d
sys-devel/llvm: Bump to 6.0.0 final
sys-devel/llvm/Manifest | 3 ++-
.../{llvm-6.0.0_rc3.ebuild => llvm-6.0.0.ebuild} | 23 ++++++++++++----------
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8377b3f8284..30ef87f02cf 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -32,5 +32,6 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10
DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
-DIST llvm-6.0.0rc3.src.tar.xz 25295644 BLAKE2B 5832b3daefbbf043caaac38791eb95a321cbee82bfa12710e332ea14b8ee6d1fe81c4fcea19cdbabd24b89e338575e367bab481c47eb6a6bfbd6a926f02fe5b2 SHA512 9932debae40ced0137c1e1675fb91b996326c7eed1b67d1280bd2b0f5bd62e15d47c87d0e215fe29680cb628853c6a446587623a6f3312ce42612b2ac865e3cd
+DIST llvm-6.0.0-manpages.tar.bz2 102668 BLAKE2B f458cbfcfdd6600f90f9bbe8cd9681de3dc11c62dbfcaa5ba7a281ad30d6367c33bebd5090c255e85a10b00b7bcb9c988d340b67f1db51982f55956acba109e9 SHA512 a7ed3e246e6488254f19dbb8484c079be39bc52f9b2fab3f736dd013683b7f46e8e036ee571dec5066c86ee7c25713608a2426555e8ad04b81891912314ee48e
+DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-6.0.0_rc3.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
similarity index 90%
rename from sys-devel/llvm/llvm-6.0.0_rc3.ebuild
rename to sys-devel/llvm/llvm-6.0.0.ebuild
index 5656b68b8b5..b9ffcade1fa 100644
--- a/sys-devel/llvm/llvm-6.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -9,12 +9,12 @@ CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python2_7 )
inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- pax-utils python-any-r1 toolchain-funcs
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -80,6 +80,9 @@ src_prepare() {
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+ # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
+ eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
+
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
@@ -136,7 +139,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv"
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)
if multilib_is_native_abi; then
@@ -229,11 +232,11 @@ _EOF_
doenvd "${T}/10llvm-${revord}"
# install pre-generated manpages
-# if ! use doc; then
-# # (doman does not support custom paths)
-# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
-# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
-# fi
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-09 14:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-09 14:58 UTC (permalink / raw
To: gentoo-commits
commit: eafb31ad8aacc9b71e47897c9db58db61170f423
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 9 13:40:49 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 9 14:58:33 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eafb31ad
sys-devel/llvm: Force correct CMAKE_INSTALL_MANDIR
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 1 +
sys-devel/llvm/llvm-5.0.1.ebuild | 1 +
sys-devel/llvm/llvm-6.0.0.ebuild | 1 +
sys-devel/llvm/llvm-6.0.9999.ebuild | 1 +
sys-devel/llvm/llvm-9999.ebuild | 1 +
5 files changed, 5 insertions(+)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 91367925dfa..54a6c4b29f9 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -99,6 +99,7 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 809795ffd0a..29edc0cc7b2 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -103,6 +103,7 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index b9ffcade1fa..b6c316b7e5b 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -103,6 +103,7 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 2f7469162d7..38353f69eef 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -103,6 +103,7 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index ca30a2f3e4f..603571a0bd6 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -102,6 +102,7 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-09 15:32 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-09 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 8644726866d6182fcc93a5db4ae9b2ce79d31ae7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 9 15:30:52 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 9 15:32:17 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86447268
sys-devel/llvm: Dekeyword 6.0.0 ~arm64 due to app-arch/xar
sys-devel/llvm/llvm-6.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index b6c316b7e5b..e474af58c92 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-10 14:05 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-10 14:05 UTC (permalink / raw
To: gentoo-commits
commit: 43ba0dabac8afb4fc205e5282f3eb42935408854
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 10 14:04:52 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 10 14:05:46 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43ba0dab
sys-devel/llvm: Temporarily refuse to build w/ GCC-7 due to hangs
Bug: https://bugs.gentoo.org/649880
sys-devel/llvm/llvm-6.0.0.ebuild | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index e474af58c92..f38524606bb 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -75,6 +75,15 @@ S=${WORKDIR}/${P/_/}.src
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
+pkg_pretend() {
+ if tc-is-gcc && [[ $(gcc-major-version) -ge 7 ]]; then
+ eerror "GCC 7 is known to cause mis-compilation that causes the build to hang."
+ eerror "Please use an older version to build LLVM until a good solution is found."
+ eerror "Bug report: https://bugs.gentoo.org/649880"
+ die "GCC-7+ is not supported"
+ fi
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-10 20:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-10 20:48 UTC (permalink / raw
To: gentoo-commits
commit: deda94ea9dfc8e43ece0a6bd7190ba67147ec08e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 10 20:48:02 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 10 20:48:34 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deda94ea
sys-devel/llvm: Apply -mno-bmi to work-around gcc-7 bug
Thanks to Alexander Bezrukov for finding the upstream bug and suggesting
a proper workaround.
Closes: https://bugs.gentoo.org/649880
sys-devel/llvm/llvm-6.0.0.ebuild | 16 +++++++---------
sys-devel/llvm/llvm-6.0.9999.ebuild | 7 +++++++
sys-devel/llvm/llvm-9999.ebuild | 7 +++++++
3 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index f38524606bb..cf9585069ad 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -75,15 +75,6 @@ S=${WORKDIR}/${P/_/}.src
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
-pkg_pretend() {
- if tc-is-gcc && [[ $(gcc-major-version) -ge 7 ]]; then
- eerror "GCC 7 is known to cause mis-compilation that causes the build to hang."
- eerror "Please use an older version to build LLVM until a good solution is found."
- eerror "Bug report: https://bugs.gentoo.org/649880"
- die "GCC-7+ is not supported"
- fi
-}
-
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -179,6 +170,13 @@ multilib_src_configure() {
)
fi
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 38353f69eef..631422bd1ad 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -170,6 +170,13 @@ multilib_src_configure() {
)
fi
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 603571a0bd6..1c439e6fd6a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -172,6 +172,13 @@ multilib_src_configure() {
)
fi
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-11 18:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-11 18:19 UTC (permalink / raw
To: gentoo-commits
commit: 8ec1dc74a82c68508e3244c0329ac0cc0c5255de
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 18:08:41 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 18:19:26 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ec1dc74
sys-devel/llvm: 6.0.0 tested on ~amd64-fbsd
sys-devel/llvm/llvm-6.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index cf9585069ad..f0d491628ab 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-13 17:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-13 17:40 UTC (permalink / raw
To: gentoo-commits
commit: 085147a6f71853ea670a114b9dae77f437a3022a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 13 17:31:39 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 13 17:40:45 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=085147a6
sys-devel/llvm: Restore ~arm ~arm64 keywords, bug #650024
sys-devel/llvm/llvm-6.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index f0d491628ab..18abd811e40 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-14 14:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-14 14:35 UTC (permalink / raw
To: gentoo-commits
commit: a9afb62d2360ca1793ca73ddd1569ac4dadfa458
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 12:59:35 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 14:35:35 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9afb62d
sys-devel/llvm: 4.0.1 does not use CMAKE_INSTALL_MANDIR
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 54a6c4b29f9..91367925dfa 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -99,7 +99,6 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-14 14:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-14 14:35 UTC (permalink / raw
To: gentoo-commits
commit: a65240cb8838c7d194f9810b0ee8de9747e2a496
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 13:45:36 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 14:35:36 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a65240cb
sys-devel/llvm: Pass CMAKE_INSTALL_MANDIR only w/ USE=doc
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 29edc0cc7b2..657a0ba9c45 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -103,7 +103,6 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
@@ -146,6 +145,7 @@ multilib_src_configure() {
-DLLVM_INSTALL_UTILS=ON
)
use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index 18abd811e40..506dba50c90 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -103,7 +103,6 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
@@ -152,6 +151,7 @@ multilib_src_configure() {
-DLLVM_INSTALL_UTILS=ON
)
use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 631422bd1ad..157cf1fbd33 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -103,7 +103,6 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
@@ -152,6 +151,7 @@ multilib_src_configure() {
-DLLVM_INSTALL_UTILS=ON
)
use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 1c439e6fd6a..7699f3364d0 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -102,7 +102,6 @@ multilib_src_configure() {
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
@@ -154,6 +153,7 @@ multilib_src_configure() {
-DLLVM_INSTALL_UTILS=ON
)
use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-14 15:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-14 15:35 UTC (permalink / raw
To: gentoo-commits
commit: e7a2482b76274baf2a2287aa0eb9c0323fff6a97
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 15:35:26 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 15:35:51 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7a2482b
sys-devel/llvm: Remove failing symbolizer test from 4.0.1
Closes: https://bugs.gentoo.org/623722
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 91367925dfa..5402ceaad42 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -79,6 +79,9 @@ src_prepare() {
# e.g. https://bugs.gentoo.org/617154
eapply "${FILESDIR}"/4.0.1/0001-cmake-Pass-Wl-z-nodelete-on-Linux-to-prevent-unloadi.patch
+ # Remove failing test (fixed in newer versions)
+ rm test/tools/llvm-symbolizer/print_context.c || die
+
# support building llvm against musl-libc
use elibc_musl && eapply "${FILESDIR}"/9999/musl-fixes.patch
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-23 9:36 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-23 9:36 UTC (permalink / raw
To: gentoo-commits
commit: ea7b6929b52c6571eadd5d6fd6fb3f8e266a3e1e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 23 09:20:54 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 23 09:35:54 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea7b6929
sys-devel/llvm: Apply -fno-bmi only on x86 arches
Closes: https://bugs.gentoo.org/650506
sys-devel/llvm/llvm-6.0.0.ebuild | 5 ++++-
sys-devel/llvm/llvm-6.0.9999.ebuild | 5 ++++-
sys-devel/llvm/llvm-9999.ebuild | 5 ++++-
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index 506dba50c90..9e9f2c10509 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -172,7 +172,10 @@ multilib_src_configure() {
# workaround BMI bug in gcc-7 (fixed in 7.4)
# https://bugs.gentoo.org/649880
- if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
local CFLAGS="${CFLAGS} -mno-bmi"
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 157cf1fbd33..6276ab4925a 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -172,7 +172,10 @@ multilib_src_configure() {
# workaround BMI bug in gcc-7 (fixed in 7.4)
# https://bugs.gentoo.org/649880
- if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
local CFLAGS="${CFLAGS} -mno-bmi"
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 7699f3364d0..414c82e01aa 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -174,7 +174,10 @@ multilib_src_configure() {
# workaround BMI bug in gcc-7 (fixed in 7.4)
# https://bugs.gentoo.org/649880
- if tc-is-gcc && [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]; then
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
local CFLAGS="${CFLAGS} -mno-bmi"
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-03-29 10:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-03-29 10:19 UTC (permalink / raw
To: gentoo-commits
commit: 7723c753445eac3af8ad7ef85e567a3ced904f83
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 29 08:08:29 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 10:19:19 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7723c753
sys-devel/llvm: Remove non-arm & non-Darwin keywords from 3.7.1
Closes: https://github.com/gentoo/gentoo/pull/7690
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 18 +++---------------
1 file changed, 3 insertions(+), 15 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index 89214c8b537..c176d25b8fd 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -30,13 +30,12 @@ SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
LICENSE="UoI-NCSA rc BSD public-domain
arm? ( LLVM-Grant )
- arm64? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~arm64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="arm ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
- kernel_Darwin kernel_FreeBSD"
+ kernel_Darwin"
COMMON_DEPEND="
sys-libs/zlib:0=
@@ -453,11 +452,6 @@ src_install() {
fi
multilib-minimal_src_install
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
}
multilib_src_install() {
@@ -565,9 +559,3 @@ multilib_src_install_all() {
fi
fi
}
-
-pkg_postinst() {
- if use clang && ! has_version sys-libs/libomp; then
- elog "To enable OpenMP support in clang, install sys-libs/libomp."
- fi
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-01 22:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-04-01 22:27 UTC (permalink / raw
To: gentoo-commits
commit: 820ddda479ca64b00b0d33a5fc3b4356275dcc50
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 1 21:44:01 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Apr 1 22:27:14 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=820ddda4
sys-devel/llvm: Backport -Wl,-rpath FreeBSD fix to 5.0.1
sys-devel/llvm/llvm-5.0.1.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 657a0ba9c45..a0287445e0d 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -83,6 +83,9 @@ src_prepare() {
# Copy the new binary file (we don't support git binary patches)
cp {"${WORKDIR}/${P}-patchset",.}/test/tools/llvm-symbolizer/Inputs/print_context.o || die
+ # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
+ eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
+
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-04 12:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-04-04 12:01 UTC (permalink / raw
To: gentoo-commits
commit: 502a611c2a949f8000c308baf979ac068e5232a4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 4 11:36:18 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 4 12:01:46 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=502a611c
sys-devel/llvm: 5.0.1 tested on ~amd64-fbsd
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index a0287445e0d..d705829ac8a 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-04 13:56 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-04-04 13:56 UTC (permalink / raw
To: gentoo-commits
commit: 7d5d5224233fc71873b052f275bc2ffe45d22feb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 4 12:19:43 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 4 13:56:02 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d5d5224
sys-devel/llvm: Inform about opt-viewer scripts in postinst
Closes: https://bugs.gentoo.org/645040
sys-devel/llvm/llvm-5.0.1.ebuild | 9 +++++++++
sys-devel/llvm/llvm-6.0.0.ebuild | 9 +++++++++
sys-devel/llvm/llvm-6.0.9999.ebuild | 9 +++++++++
sys-devel/llvm/llvm-9999.ebuild | 9 +++++++++
4 files changed, 36 insertions(+)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index d705829ac8a..295cd485338 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -245,3 +245,12 @@ _EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvm/llvm-6.0.0.ebuild b/sys-devel/llvm/llvm-6.0.0.ebuild
index 9e9f2c10509..162c216c1e6 100644
--- a/sys-devel/llvm/llvm-6.0.0.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0.ebuild
@@ -251,3 +251,12 @@ _EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
index 6276ab4925a..b8768df35d5 100644
--- a/sys-devel/llvm/llvm-6.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-6.0.9999.ebuild
@@ -244,3 +244,12 @@ _EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 414c82e01aa..e405d61283c 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -246,3 +246,12 @@ _EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-11 16:19 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-04-11 16:19 UTC (permalink / raw
To: gentoo-commits
commit: 24dd6d35cc21788e3d34d07601311aff01d89b8d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 7 08:52:26 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 11 16:19:46 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24dd6d35
sys-devel/llvm: Remove non-Darwin keywords from 3.9.1
Closes: https://github.com/gentoo/gentoo/pull/7702
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
index 76552025bb2..bc9897f9842 100644
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-21 12:05 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-04-21 12:05 UTC (permalink / raw
To: gentoo-commits
commit: 1d7ab24a619f1a7428821cb1c14df52b49774292
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 21 12:04:36 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat Apr 21 12:04:36 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d7ab24a
sys-devel/llvm: arm stable wrt bug #637210
Package-Manager: Portage-2.3.24, Repoman-2.3.6
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 5402ceaad42..044c8c45fed 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(get_major_version)"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 arm ~arm64 x86"
IUSE="debug doc gold libedit +libffi ncurses test
elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-04-29 22:08 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-04-29 22:08 UTC (permalink / raw
To: gentoo-commits
commit: 8c092d0777bb556aab0da014ebbd3bd06a9ce02d
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 29 22:07:13 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Apr 29 22:08:06 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c092d07
sys-devel/llvm: arm stable wrt bug #644814
Package-Manager: Portage-2.3.24, Repoman-2.3.6
sys-devel/llvm/llvm-5.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.1.ebuild b/sys-devel/llvm/llvm-5.0.1.ebuild
index 295cd485338..b57ab048c4e 100644
--- a/sys-devel/llvm/llvm-5.0.1.ebuild
+++ b/sys-devel/llvm/llvm-5.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-05-05 15:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-05-05 15:27 UTC (permalink / raw
To: gentoo-commits
commit: bd818d9757085f0fa963addb7728c30f5d6ba782
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May 3 16:29:13 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 5 15:27:41 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd818d97
sys-devel/llvm: Bump to 5.0.2
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-5.0.2.ebuild | 256 +++++++++++++++++++++++++++++++++++++++
2 files changed, 258 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 30ef87f02cf..dd5a5d64d7b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -32,6 +32,8 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10
DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
+DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492ccdc9fd2c26cc7dfbd8fb2b9e68418ca8fdf42cdc303c361e649cc6939bf5229cbad017bdccbd5d791e92752328252f SHA512 568615bce5a75d42e4b6d592557472d366d49a99f8e81be10ae679804f1fe674c7fd0bbdac09af44fc67ee5aa34c4ed2153c2767c536ac8e45dd15c811c92dcb
+DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.0-manpages.tar.bz2 102668 BLAKE2B f458cbfcfdd6600f90f9bbe8cd9681de3dc11c62dbfcaa5ba7a281ad30d6367c33bebd5090c255e85a10b00b7bcb9c988d340b67f1db51982f55956acba109e9 SHA512 a7ed3e246e6488254f19dbb8484c079be39bc52f9b2fab3f736dd013683b7f46e8e036ee571dec5066c86ee7c25713608a2426555e8ad04b81891912314ee48e
DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
new file mode 100644
index 00000000000..cd05103a384
--- /dev/null
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -0,0 +1,256 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/llvm/llvm-5.0.1-patchset.tar.bz2
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc gold libedit +libffi ncurses test
+ kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # Apply the backported patches
+ eapply "${WORKDIR}/llvm-5.0.1-patchset"
+ # Copy the new binary file (we don't support git binary patches)
+ cp {"${WORKDIR}/llvm-5.0.1-patchset",.}/test/tools/llvm-symbolizer/Inputs/print_context.o || die
+
+ # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
+ eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ -DHAVE_LIBXAR=0
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ if use kernel_linux || use kernel_Darwin; then
+ # install fuzzer libraries for clang (cmake rules were added in 6)
+ # https://bugs.gentoo.org/636840
+ into "/usr/lib/llvm/${SLOT}"
+ dolib.a "$(get_libdir)"/libLLVMFuzzer*.a
+ fi
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-06-07 13:03 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-06-07 13:03 UTC (permalink / raw
To: gentoo-commits
commit: 550b26613bc4aad5ce8b48e4f8c801eb38fab764
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 7 12:51:53 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Thu Jun 7 13:03:35 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=550b2661
sys-devel/llvm: amd64 stable wrt bug #657516
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index cd05103a384..4cfeb94d7ad 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-06-07 17:21 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2018-06-07 17:21 UTC (permalink / raw
To: gentoo-commits
commit: b31770b0e0b090a893b515bc8dd670464c9521b1
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 7 17:17:44 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jun 7 17:20:56 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b31770b0
sys-devel/llvm: x86 stable (bug #657516)
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index 4cfeb94d7ad..7879b01fcc5 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-06-08 8:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-06-08 8:03 UTC (permalink / raw
To: gentoo-commits
commit: 9680e10bbe58db66d7d95f45bf6c63d19b03b93f
Author: Luke Dashjr <luke-jr+git <AT> utopios <DOT> org>
AuthorDate: Mon May 28 22:30:28 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 8 08:03:34 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9680e10b
sys-devel/llvm: Keyword 5.0.2, and 6.0.0-r1 ~ppc64
sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.0-r1.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index 7879b01fcc5..768c86f3ad6 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
diff --git a/sys-devel/llvm/llvm-6.0.0-r1.ebuild b/sys-devel/llvm/llvm-6.0.0-r1.ebuild
index 9a8bed537eb..9d7c3168e19 100644
--- a/sys-devel/llvm/llvm-6.0.0-r1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.0-r1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-06-27 8:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-06-27 8:44 UTC (permalink / raw
To: gentoo-commits
commit: a6a190aef78c086e8e723cb50299d404496926ba
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 21:18:09 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 27 08:44:32 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6a190ae
sys-devel/llvm: Bump to 6.0.1
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-6.0.1.ebuild | 262 +++++++++++++++++++++++++++++++++++++++
2 files changed, 264 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index dd5a5d64d7b..793cd147915 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,4 +36,6 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.0-manpages.tar.bz2 102668 BLAKE2B f458cbfcfdd6600f90f9bbe8cd9681de3dc11c62dbfcaa5ba7a281ad30d6367c33bebd5090c255e85a10b00b7bcb9c988d340b67f1db51982f55956acba109e9 SHA512 a7ed3e246e6488254f19dbb8484c079be39bc52f9b2fab3f736dd013683b7f46e8e036ee571dec5066c86ee7c25713608a2426555e8ad04b81891912314ee48e
DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c
+DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
+DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
new file mode 100644
index 00000000000..a582e16533e
--- /dev/null
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
+ eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-07-22 1:59 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-07-22 1:59 UTC (permalink / raw
To: gentoo-commits
commit: 8fc5167d66f49f5b8672a884c9cbb8c6ad93a782
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 01:59:22 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 01:59:22 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fc5167d
sys-devel/llvm: arm stable wrt bug #657516
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index 58c2bb82095..02bf7d715a4 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-07-22 18:19 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2018-07-22 18:19 UTC (permalink / raw
To: gentoo-commits
commit: 683bc991778977461eb76792d0f9a24af5d18d40
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 18:11:36 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 18:16:28 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=683bc991
sys-devel/llvm: x86 stable (bug #661776)
Package-Manager: Portage-2.3.43, Repoman-2.3.10
sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index a582e16533e..f4cd28e3a08 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-07-22 18:50 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-07-22 18:50 UTC (permalink / raw
To: gentoo-commits
commit: 025591d2c03886e82cfb0f4a950bd9fa4f390151
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 18:43:16 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 18:49:43 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=025591d2
sys-devel/llvm: amd64 stable wrt bug #661776
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index f4cd28e3a08..78fb4fec9bf 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-07-22 21:45 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2018-07-22 21:45 UTC (permalink / raw
To: gentoo-commits
commit: a22cc006c8d56e919df64400c8351ed662438727
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 21:43:10 2018 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 21:43:10 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a22cc006
sys-devel/llvm: arm stable wrt bug #661776
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index 78fb4fec9bf..ba5c02fa793 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-07-23 9:09 Mart Raudsepp
0 siblings, 0 replies; 860+ messages in thread
From: Mart Raudsepp @ 2018-07-23 9:09 UTC (permalink / raw
To: gentoo-commits
commit: 4b36bc794adb69074d6c62146f3d19b4b4536825
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 23 09:08:00 2018 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon Jul 23 09:08:52 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b36bc79
sys-devel/llvm-6.0.1: arm64 stable (bug #661776)
Package-Manager: Portage-2.3.43, Repoman-2.3.10
sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index ba5c02fa793..5df2671c363 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-08-01 20:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-08-01 20:53 UTC (permalink / raw
To: gentoo-commits
commit: 5ee8fc8a088120af62fc8260e4bd76f4a198281b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 1 16:36:58 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 1 20:53:17 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ee8fc8a
sys-devel/llvm: Branch out LLVM 7.0
sys-devel/llvm/llvm-7.0.9999.ebuild | 252 ++++++++++++++++++++++++++++++++++++
1 file changed, 252 insertions(+)
diff --git a/sys-devel/llvm/llvm-7.0.9999.ebuild b/sys-devel/llvm/llvm-7.0.9999.ebuild
new file mode 100644
index 00000000000..7e0077310f5
--- /dev/null
+++ b/sys-devel/llvm/llvm-7.0.9999.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
+ https://github.com/llvm-mirror/llvm.git"
+EGIT_BRANCH="release_70"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+_EOF_
+ doenvd "${T}/10llvm-${revord}"
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-08-01 20:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-08-01 20:53 UTC (permalink / raw
To: gentoo-commits
commit: 8b25489970ab126bd00b30c0df1f91f0e681dadb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 1 16:37:13 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 1 20:53:17 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b254899
sys-devel/llvm: 9999 is now 8.0
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index e405d61283c..612f8a07e7b 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="7"
+SLOT="8"
KEYWORDS=""
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-08-09 11:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-08-09 11:53 UTC (permalink / raw
To: gentoo-commits
commit: 5c01167303f7baaec381a4a85ad5f4f3ca16c3c6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 10 22:41:55 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 9 11:52:57 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c011673
sys-devel/llvm: Add custom SOVERSION suffix when linking to libc++
sys-devel/llvm/llvm-9999.ebuild | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 612f8a07e7b..d5404d204a0 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -89,6 +89,18 @@ src_prepare() {
cmake-utils_src_prepare
}
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
@@ -132,6 +144,15 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
# Note: go bindings have no CMake rules at the moment
# but let's kill the check in case they are introduced
# if ! multilib_is_native_abi || ! use go; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-08-28 16:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-08-28 16:00 UTC (permalink / raw
To: gentoo-commits
commit: d27d8d8cd51c8518836e7996da523e92c6a9942b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 28 14:56:00 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 28 16:00:29 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d27d8d8c
sys-devel/llvm: Bump to 7.0.0rc2
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-7.0.0_rc2.ebuild | 259 +++++++++++++++++++++++++++++++++++
2 files changed, 260 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 168645af35b..14297358b8f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,4 +34,5 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
+DIST llvm-7.0.0rc2.src.tar.xz 28320756 BLAKE2B 92707da30fe73a6dec2614acceada06560332d3b54edeae5047543f23808cf13b24aecc9c853ccbc3341951e1fbceff85509465aa6207275fc54c75f94baff55 SHA512 4211fdbd2278ed325d3f6a1f1fa706351e768e2cd1445abf6664bed39b7b5d0c5e04514711d627f9ae1e271300f410635bb54ba004a5bece0d68450d3a1b52e4
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.0_rc2.ebuild b/sys-devel/llvm/llvm-7.0.0_rc2.ebuild
new file mode 100644
index 00000000000..8497bb829a7
--- /dev/null
+++ b/sys-devel/llvm/llvm-7.0.0_rc2.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )
+ doc"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-08-31 8:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-08-31 8:35 UTC (permalink / raw
To: gentoo-commits
commit: b62875d30a0cd0298332a78d60f58b3f0468f2d9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 31 08:35:29 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 31 08:35:29 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b62875d3
sys-devel/llvm: Add new doc-dep on recommonmark, in -9999
sys-devel/llvm/llvm-9999.ebuild | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index ed5dd0b817a..196984744a5 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -59,7 +59,11 @@ DEPEND="${RDEPEND}
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- doc? ( dev-python/sphinx )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
!!<dev-python/configparser-3.3.0.2
@@ -77,6 +81,13 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-09-11 6:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-09-11 6:22 UTC (permalink / raw
To: gentoo-commits
commit: de39d8cb58b88041ddd80e0e6057d26c4d63bbe0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 11 06:09:25 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 11 06:09:25 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de39d8cb
sys-devel/llvm: Bump to 7.0.0rc3
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/{llvm-7.0.0_rc2.ebuild => llvm-7.0.0_rc3.ebuild} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 14297358b8f..1b52ada3260 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,5 +34,5 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
-DIST llvm-7.0.0rc2.src.tar.xz 28320756 BLAKE2B 92707da30fe73a6dec2614acceada06560332d3b54edeae5047543f23808cf13b24aecc9c853ccbc3341951e1fbceff85509465aa6207275fc54c75f94baff55 SHA512 4211fdbd2278ed325d3f6a1f1fa706351e768e2cd1445abf6664bed39b7b5d0c5e04514711d627f9ae1e271300f410635bb54ba004a5bece0d68450d3a1b52e4
+DIST llvm-7.0.0rc3.src.tar.xz 28322024 BLAKE2B 5b034208d9b2b4f1f02466bd446be79b5cacede952f77c1ff1d302a4254410f83420b42ffedbb26c2a87102fdd5dedc37183afe2b8bc23e6b6db01bad3e1d0c9 SHA512 8a19d6cad7bf485d3800ed41a2aadaa3b60eb75c31e984b277756cc5c5eb1a39f12d554d71614d3781cd7f1c85e39de40d9062b77a5299b8ba9659d91bd4c0f7
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.0_rc2.ebuild b/sys-devel/llvm/llvm-7.0.0_rc3.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-7.0.0_rc2.ebuild
rename to sys-devel/llvm/llvm-7.0.0_rc3.ebuild
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-09-19 20:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-09-19 20:22 UTC (permalink / raw
To: gentoo-commits
commit: 84d6db19945090785676a44b642cbe0c61e9107b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 19 17:15:52 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 19 20:16:23 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84d6db19
sys-devel/llvm: Bump to 7.0.0 final
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 2 +-
sys-devel/llvm/{llvm-7.0.0_rc3.ebuild => llvm-7.0.0.ebuild} | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1b52ada3260..69e54f5cca6 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,5 +34,5 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
-DIST llvm-7.0.0rc3.src.tar.xz 28322024 BLAKE2B 5b034208d9b2b4f1f02466bd446be79b5cacede952f77c1ff1d302a4254410f83420b42ffedbb26c2a87102fdd5dedc37183afe2b8bc23e6b6db01bad3e1d0c9 SHA512 8a19d6cad7bf485d3800ed41a2aadaa3b60eb75c31e984b277756cc5c5eb1a39f12d554d71614d3781cd7f1c85e39de40d9062b77a5299b8ba9659d91bd4c0f7
+DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
index c6a7d356982..e431dbff768 100644
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
@@ -32,7 +32,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
arm? ( LLVM-Grant )
multitarget? ( LLVM-Grant )"
SLOT="0/${PV}"
-KEYWORDS="arm ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~arm ~ppc-macos ~x64-macos ~x86-macos"
IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon
kernel_Darwin"
diff --git a/sys-devel/llvm/llvm-7.0.0_rc3.ebuild b/sys-devel/llvm/llvm-7.0.0.ebuild
similarity index 97%
rename from sys-devel/llvm/llvm-7.0.0_rc3.ebuild
rename to sys-devel/llvm/llvm-7.0.0.ebuild
index 8497bb829a7..59c3f314915 100644
--- a/sys-devel/llvm/llvm-7.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-7.0.0.ebuild
@@ -13,7 +13,7 @@ inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
# Keep in sync with CMakeLists.txt
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-09-19 20:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-09-19 20:22 UTC (permalink / raw
To: gentoo-commits
commit: e919e6b6d36212a8a32049529c8be73f1d9a215d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 19 19:10:28 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 19 20:16:37 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e919e6b6
sys-devel/llvm: Package pre-built manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-7.0.0.ebuild | 7 +++----
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 69e54f5cca6..6d2006ee056 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,5 +34,6 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
+DIST llvm-7.0.0-manpages.tar.bz2 121089 BLAKE2B b60f18ce65e8b5bc9122378f82f0edb85d3ddef06e03e39bab8f52afe3c1c74ae8adb39335fa437fb243df8b15c7a8563eb23bc28fd9f3070a33e4c93081b095 SHA512 42731538157edc92e281baf0f4f56ce2943f1ed47b5fcd0269f98d19a8fa1602d093a02d22847ea1b00b49bf60a5e273e91aec216d084c68c772672d1a702c43
DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.0.ebuild b/sys-devel/llvm/llvm-7.0.0.ebuild
index 59c3f314915..9ce79663c29 100644
--- a/sys-devel/llvm/llvm-7.0.0.ebuild
+++ b/sys-devel/llvm/llvm-7.0.0.ebuild
@@ -13,8 +13,8 @@ inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -68,8 +68,7 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )
- doc"
+ || ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-09-27 6:42 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-09-27 6:42 UTC (permalink / raw
To: gentoo-commits
commit: 4f8eab39bc0f6077a7059d6f5030f327dc5c87ee
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 27 06:42:24 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 27 06:42:24 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f8eab39
sys-devel/llvm: Fix EROOT trailing slash, spotted by Hummer12007
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-7.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-7.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-7.0.0.ebuild b/sys-devel/llvm/llvm-7.0.0.ebuild
index ef47128aa16..08b89718f24 100644
--- a/sys-devel/llvm/llvm-7.0.0.ebuild
+++ b/sys-devel/llvm/llvm-7.0.0.ebuild
@@ -252,7 +252,7 @@ multilib_src_install_all() {
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
elog "To use these scripts, you will need Python 2.7 along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
diff --git a/sys-devel/llvm/llvm-7.0.9999.ebuild b/sys-devel/llvm/llvm-7.0.9999.ebuild
index b97e3a6b47b..b72dc4253f2 100644
--- a/sys-devel/llvm/llvm-7.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-7.0.9999.ebuild
@@ -245,7 +245,7 @@ multilib_src_install_all() {
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
elog "To use these scripts, you will need Python 2.7 along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 014336a4f3e..eb43281d311 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -282,7 +282,7 @@ multilib_src_install_all() {
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
elog "To use these scripts, you will need Python 2.7 along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-11-06 11:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-11-06 11:06 UTC (permalink / raw
To: gentoo-commits
commit: 94895ebf8704cd0ddb2f9d04ef476318833f3817
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 6 11:03:56 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 6 11:06:09 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94895ebf
sys-devel/llvm: Bump to 7.0.1_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-7.0.1_rc2.ebuild | 260 +++++++++++++++++++++++++++++++++++
2 files changed, 261 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 6d2006ee056..019cbc17abe 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,4 +36,5 @@ DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df545
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-7.0.0-manpages.tar.bz2 121089 BLAKE2B b60f18ce65e8b5bc9122378f82f0edb85d3ddef06e03e39bab8f52afe3c1c74ae8adb39335fa437fb243df8b15c7a8563eb23bc28fd9f3070a33e4c93081b095 SHA512 42731538157edc92e281baf0f4f56ce2943f1ed47b5fcd0269f98d19a8fa1602d093a02d22847ea1b00b49bf60a5e273e91aec216d084c68c772672d1a702c43
DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
+DIST llvm-7.0.1rc2.src.tar.xz 28304444 BLAKE2B 245e45f77a2ec2d94b237d1015ccc1e409f0dc149dba3192c15293bc2d45ec40989081a930a5e55a4b0ebf906397c62afd910bc25c5c1eef7ea5e310d4172acb SHA512 cfc4d1926bae75f6f22350273ab76811f0b78ddad81717c9201d7814ebe7b902c5a9c6caa0232e2bdc14e819b008f914d055b23723e0ec4a5309809dc06c6bf4
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.1_rc2.ebuild b/sys-devel/llvm/llvm-7.0.1_rc2.ebuild
new file mode 100644
index 00000000000..ac571ed3622
--- /dev/null
+++ b/sys-devel/llvm/llvm-7.0.1_rc2.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if false && ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-12-20 12:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-12-20 12:41 UTC (permalink / raw
To: gentoo-commits
commit: befb9b1e1154507b110c41a0c784237249b4fd7e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 20 09:16:35 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 20 12:40:44 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=befb9b1e
sys-devel/llvm: Bump to 7.0.1-final
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 ++-
sys-devel/llvm/{llvm-7.0.1_rc2.ebuild => llvm-7.0.1.ebuild} | 8 ++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 019cbc17abe..271f320f421 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,5 +36,6 @@ DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df545
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-7.0.0-manpages.tar.bz2 121089 BLAKE2B b60f18ce65e8b5bc9122378f82f0edb85d3ddef06e03e39bab8f52afe3c1c74ae8adb39335fa437fb243df8b15c7a8563eb23bc28fd9f3070a33e4c93081b095 SHA512 42731538157edc92e281baf0f4f56ce2943f1ed47b5fcd0269f98d19a8fa1602d093a02d22847ea1b00b49bf60a5e273e91aec216d084c68c772672d1a702c43
DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
-DIST llvm-7.0.1rc2.src.tar.xz 28304444 BLAKE2B 245e45f77a2ec2d94b237d1015ccc1e409f0dc149dba3192c15293bc2d45ec40989081a930a5e55a4b0ebf906397c62afd910bc25c5c1eef7ea5e310d4172acb SHA512 cfc4d1926bae75f6f22350273ab76811f0b78ddad81717c9201d7814ebe7b902c5a9c6caa0232e2bdc14e819b008f914d055b23723e0ec4a5309809dc06c6bf4
+DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
+DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.1_rc2.ebuild b/sys-devel/llvm/llvm-7.0.1.ebuild
similarity index 97%
rename from sys-devel/llvm/llvm-7.0.1_rc2.ebuild
rename to sys-devel/llvm/llvm-7.0.1.ebuild
index 11d14de612f..9807a13f1bb 100644
--- a/sys-devel/llvm/llvm-7.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-7.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -13,8 +13,8 @@ inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -241,7 +241,7 @@ multilib_src_install_all() {
_EOF_
# install pre-generated manpages
- if false && ! use doc; then
+ if ! use doc; then
# (doman does not support custom paths)
insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
doins "${WORKDIR}/${P}-manpages/llvm"/*.1
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-12-30 11:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-12-30 11:39 UTC (permalink / raw
To: gentoo-commits
commit: 1699d6987cfc99b4bb2f2709ae5787ce3694b84f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 30 11:31:51 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 30 11:39:47 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1699d698
sys-devel/llvm: Remove 7.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-7.0.0-r1.ebuild | 264 ------------------------------------
sys-devel/llvm/llvm-7.0.0.ebuild | 260 -----------------------------------
3 files changed, 526 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 271f320f421..b2e77ae0930 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -34,8 +34,6 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
-DIST llvm-7.0.0-manpages.tar.bz2 121089 BLAKE2B b60f18ce65e8b5bc9122378f82f0edb85d3ddef06e03e39bab8f52afe3c1c74ae8adb39335fa437fb243df8b15c7a8563eb23bc28fd9f3070a33e4c93081b095 SHA512 42731538157edc92e281baf0f4f56ce2943f1ed47b5fcd0269f98d19a8fa1602d093a02d22847ea1b00b49bf60a5e273e91aec216d084c68c772672d1a702c43
-DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.0.0-r1.ebuild b/sys-devel/llvm/llvm-7.0.0-r1.ebuild
deleted file mode 100644
index 2ffa59aa5f5..00000000000
--- a/sys-devel/llvm/llvm-7.0.0-r1.ebuild
+++ /dev/null
@@ -1,264 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Fix x86 codegen bug triggered by Chromium
- # https://bugs.gentoo.org/664868
- eapply "${FILESDIR}"/7.0.0/0001-X86-Stop-X86DomainReassignment-from-creating-copies-.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-7.0.0.ebuild b/sys-devel/llvm/llvm-7.0.0.ebuild
deleted file mode 100644
index fc86b1c7ea9..00000000000
--- a/sys-devel/llvm/llvm-7.0.0.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2018-12-30 11:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2018-12-30 11:39 UTC (permalink / raw
To: gentoo-commits
commit: 30d050e2d227770e248cb3b31c178f9b727c88a8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 30 11:38:23 2018 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 30 11:39:49 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30d050e2
sys-devel/llvm: Drop 6.0.1-r1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-6.0.1-r1.ebuild | 266 ------------------------------------
1 file changed, 266 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.1-r1.ebuild b/sys-devel/llvm/llvm-6.0.1-r1.ebuild
deleted file mode 100644
index 3586bb2eac7..00000000000
--- a/sys-devel/llvm/llvm-6.0.1-r1.ebuild
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
- eapply "${FILESDIR}"/6.0.1/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
-
- # Fix assembly compatibility with binutils-2.31.1
- # https://bugs.gentoo.org/663442
- eapply "${FILESDIR}"/6.0.1/0002-llvm-mc-Produce-R_X86_64_PLT32-for-call-jmp-foo.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
-_EOF_
- doenvd "${T}/10llvm-${revord}"
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-01-16 14:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-01-16 14:52 UTC (permalink / raw
To: gentoo-commits
commit: eac309f2032a415703f9ad2e00807190321ed7e5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 16 13:37:07 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 16 14:52:23 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eac309f2
sys-devel/llvm: Trunk is now 9.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index eb43281d311..abc5f6f5ebd 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="8"
+SLOT="9"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-01-16 14:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-01-16 14:52 UTC (permalink / raw
To: gentoo-commits
commit: 4baf1e5c66e8ecdf33d45c38dde2ab8b286be63b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 16 13:50:01 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 16 14:52:27 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4baf1e5c
sys-devel/llvm: Add a live ebuild for 8.* branch
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.9999.ebuild | 285 ++++++++++++++++++++++++++++++++++++
1 file changed, 285 insertions(+)
diff --git a/sys-devel/llvm/llvm-8.0.9999.ebuild b/sys-devel/llvm/llvm-8.0.9999.ebuild
new file mode 100644
index 00000000000..b31f34a9105
--- /dev/null
+++ b/sys-devel/llvm/llvm-8.0.9999.ebuild
@@ -0,0 +1,285 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
+ https://github.com/llvm-mirror/llvm.git"
+EGIT_BRANCH="release_80"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-02-13 12:46 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-02-13 12:46 UTC (permalink / raw
To: gentoo-commits
commit: 04b6088071e100137d5044ca0c76721ee9d29d8f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 13 10:22:23 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 13 12:46:37 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04b60880
sys-devel/llvm: Bump to 8.0.0rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-8.0.0_rc2.ebuild | 292 +++++++++++++++++++++++++++++++++++
2 files changed, 293 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b2e77ae0930..0743ad90ac9 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -36,4 +36,5 @@ DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df545
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
+DIST llvm-8.0.0rc2.src.tar.xz 30492444 BLAKE2B e7afd3b66e3eb204e07348f0bc77f0ae03d8e9581de4c94cba7c0b43b53f36ecd891c1272ce43ea6c78999fd404a7db105266a2eaca22975133571e1152961af SHA512 9d93197848e9472cc2fef2477897e4f4d74a79b17a164fd43446b0ffb327e7f484cf64f0c294d9a99707c0b46282eb0d16e6ceb5d2d568f25e4235f70ae3c5e7
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-8.0.0_rc2.ebuild b/sys-devel/llvm/llvm-8.0.0_rc2.ebuild
new file mode 100644
index 00000000000..167c83db857
--- /dev/null
+++ b/sys-devel/llvm/llvm-8.0.0_rc2.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+# if ! use doc; then
+# # (doman does not support custom paths)
+# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+# fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-02-28 17:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-02-28 17:41 UTC (permalink / raw
To: gentoo-commits
commit: bc11faa8687abec519e809ae144adf8cd50f9636
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 28 17:11:36 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 17:41:30 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc11faa8
sys-devel/llvm: Bump to 8.0.0rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-8.0.0_rc3.ebuild | 292 +++++++++++++++++++++++++++++++++++
2 files changed, 293 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0743ad90ac9..2f8313c3647 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -37,4 +37,5 @@ DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f
DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-8.0.0rc2.src.tar.xz 30492444 BLAKE2B e7afd3b66e3eb204e07348f0bc77f0ae03d8e9581de4c94cba7c0b43b53f36ecd891c1272ce43ea6c78999fd404a7db105266a2eaca22975133571e1152961af SHA512 9d93197848e9472cc2fef2477897e4f4d74a79b17a164fd43446b0ffb327e7f484cf64f0c294d9a99707c0b46282eb0d16e6ceb5d2d568f25e4235f70ae3c5e7
+DIST llvm-8.0.0rc3.src.tar.xz 30507604 BLAKE2B c9baaca537d292af9f12368df86090750508113eb7db393fe44c1ba7579df947f0a7092e6ddd4403bda9f9ed75fe8c049f3baf6d8671faa0c91e3267c584893a SHA512 82199841c2084cffe4e86b4f2d5ebe404059196f1f6d000ee69cfddba05d78c4500ad7499615fa67e9774ead6cba5a23db484dd85f752c8d08e8067f7d7b98ca
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-8.0.0_rc3.ebuild b/sys-devel/llvm/llvm-8.0.0_rc3.ebuild
new file mode 100644
index 00000000000..167c83db857
--- /dev/null
+++ b/sys-devel/llvm/llvm-8.0.0_rc3.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+# if ! use doc; then
+# # (doman does not support custom paths)
+# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+# fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-10 19:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-10 19:53 UTC (permalink / raw
To: gentoo-commits
commit: fe01e28de7590ce82b9812956d1aad17c8f1a267
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 10 18:24:49 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Mar 10 19:52:58 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe01e28d
sys-devel/llvm: Drop <4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 30 --
sys-devel/llvm/llvm-3.4.2-r100.ebuild | 273 -----------------
sys-devel/llvm/llvm-3.5.2-r100.ebuild | 276 -----------------
sys-devel/llvm/llvm-3.6.2-r100.ebuild | 280 -----------------
sys-devel/llvm/llvm-3.7.1-r3.ebuild | 559 ----------------------------------
sys-devel/llvm/llvm-3.9.1-r1.ebuild | 547 ---------------------------------
sys-devel/llvm/metadata.xml | 7 -
7 files changed, 1972 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 2f8313c3647..7b62f9c64cb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,33 +1,3 @@
-DIST cfe-3.4.2.src.tar.gz 10612313 BLAKE2B 6a5d9f20d181b217f3ca72b6585bd953150cc0d207a203feb24aa9cb9b2e341ac6a2e152a1c40baf2d53e5a52c4e4e86a518a329bdda39c08986b3437b04cee8 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d
-DIST cfe-3.5.2.src.tar.xz 8268008 BLAKE2B 9444f44e5d2cc8b83832bdb820c79fd9a8d5c9e5b0bc29d1213c10a60e3ef8ba9160c68cabfdbf6ae3eac804cc64b4a539274f5c83baee0059fdfc96dedeeef9 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f
-DIST cfe-3.6.2.src.tar.xz 8617576 BLAKE2B 02a162d7afa32d25e77618ef890b81f532eba87369611dad332943be5460ff747ede3cb53d2d66398243341ecd1ecee0c5ee2e72ff8ca5ea744d2655946fc934 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03
-DIST cfe-3.7.1.src.tar.xz 9110616 BLAKE2B 9df6971afbfc1384c537f384b808f4af6914d3bf32f11017f08bec597e9cc535a96660aafe042a99cd8e450adb5555915392a6098d423993856ea7a1f8e4ee10 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5
-DIST cfe-3.9.1.src.tar.xz 10363080 BLAKE2B 6f6cfe80ea0344342f070d451dabd41b9cf58962ca354f495868821173446f8a08c5a69819f0c5d20b4f49019036fa4a238838b224a1e55d5ac805668fc837d5 SHA512 3f0eea194597e438bbe49ce9ef5fdced81459c21cbdd2653750b2fe02c55a0154d6a33a8cfd02e607b83314a8e35b2c300f944462120ab6de1d4139d85db56b8
-DIST clang-tools-extra-3.7.1.src.tar.xz 277476 BLAKE2B 19ed7feb1a558f691af0d0735a3d0f2dc2b80f06cc5ad0ae9dd8dc0545b38d35cd55231d73c0c7c8abe96d045ba4077f5c8c98a454a73a30a00c6a2415bedf46 SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7
-DIST clang-tools-extra-3.9.1.src.tar.xz 456464 BLAKE2B 32cbb7d5282e286e0bf9f8b1e9ecddc5401b78fd088b1302978e0f6cf71fe864ab47eebe81bdea59ccd49122e6d2ef2281b5bd52e97af5eefdbd5d7da9550f5f SHA512 5691fb09f80b519876cdd2e82ad23a20bba32a0bc356e15e6db631b2936763911f15ff55f8bf5f073100b9e4cf217f08fdce90ae98ef0e084274259d3cfe9634
-DIST compiler-rt-3.4.src.tar.gz 1858593 BLAKE2B 3e1107b3056b9eaf33ffa0786db144a006f24c0bef2c525e722d2946d0cc70b16aa776a68d1b668671925951efd270b733820085ca310c538892023a780361b0 SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8
-DIST compiler-rt-3.5.2.src.tar.xz 1093000 BLAKE2B 633e18ba17f1df077a06089bef5cd495f8b639981330083c300de2e2d31f2033e882fb17286d5c7e13b31b78d24a60e354daacbffebd98d6415b811ad089e0d2 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff
-DIST compiler-rt-3.6.2.src.tar.xz 1128080 BLAKE2B 934bc3fb139d0a3a82e7824256ebbf524a8298bf5872a89351786585854a09739071fe53f319815b45aca03f1d8ba0d3cc0c2ad8e3cc529fbaf6e180b33cd2c6 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3
-DIST compiler-rt-3.7.1.src.tar.xz 1181772 BLAKE2B bcc11ee67806bc3b65690a7828f46f9fdc52992f30ce7159045ae21d916de4cb16dd8047913101a56b87c4496872c37e37ce0b54fa72b681a4a369b1f861b070 SHA512 bf434519ea0838264c30de1e1e8681320aa868df0ecc825a45c659077b963a4120c18216946558cbf8aea24a8ac8ec39af2066dab906bc7cabc0894d51d61325
-DIST compiler-rt-3.9.1.src.tar.xz 1376372 BLAKE2B 1c7391a429329591d96e474c9ac5b36672a8d50dc621bd21a9e97035811d85293981e98ada1c3284f9d05115a1113086ba3888073fc3b76e09f83614cd7d37ce SHA512 91a4c78a5e8c1cdd2d6bbcb27d2c34f49ea30a952733444ef4f4a7cc7503c880d4b6924595e87745ef6278851178f49f98d38d2068975d4fb6577fb9e9cdcdbe
-DIST lldb-3.7.1.src.tar.xz 10650524 BLAKE2B 432e7064f4f48b62b96c80ca184fc2a69ac7e2ee62d14020017c01659aa15299b5f5c47852855b1ff12606d264c1cccf9a31b5818909dd779c8f353df62d12dc SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1
-DIST lldb-3.9.1.src.tar.xz 13750816 BLAKE2B 40bd2797e1e06f600cdd88ba56af8e3c315cd9f2bc2ca12c3172623ae16750f051f9e6d76df354a3fc0c6a4fb802fa842952e1ff1d47a28f5cd218546da89563 SHA512 e2957a1da60284595b21c205b07fa3db5c474bfad1935ab8e1bc832f30af497e9eb709efeb703591ef62e7dd73a28d22fc21398097a232c8a729946d72eb5df7
-DIST llvm-3.4-manpages.tar.bz2 33753 BLAKE2B b6a57cc492d133eddad08507521395f8c4cd6c7609b6134e61c330045d68a222bee88f8d0ab7883654db55157b185b59690ca3024957ddaaaa3054fcb9ccf831 SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d
-DIST llvm-3.4-patchset-darwin-leopard.tar.gz 7704 BLAKE2B a46dacae703b19ad2876d3f1f4f59ca12be96e2368d35d2578d4d67e4ea28051e37279e79cd5169f63277ba4d591d2ac8baf3a6f6af6b45e1019c4aa83f1515d SHA512 1f34ef6a20fe09e6de473bd15f9ef30e3d7a16a5a9fdb62d88d1ac22ffc31a2a7814e0a2e677b21dbf0865241786aa2b8b4646737cede1765c8f3c6b5202fccc
-DIST llvm-3.4.2-patchset.tar.gz 4612 BLAKE2B e7be0957dac5ceae7e81beef2dbb914554809095fd4857d45809b00ae06f297649f8a5e7baaa1602b711b678120ca18aee1f60413136d0572c8226f7fabae03e SHA512 32c7cf229a6a8917f0fc67efa1fb11994945281f6906395cee7e5c51399c8fb4c06f554a03253c8f9073890a7bc7af151a8adfe887ad62f45f1523e6e358f769
-DIST llvm-3.4.2.src.tar.gz 15938155 BLAKE2B 51b2f5e04f448d71fdd757a84c71157de0f9958aace6e8837971e3c62f2b017387b1bc8b310bacfae137b48501d25be8decb4ffa3caa7fcd0083a73c4c65949e SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0
-DIST llvm-3.5.0-manpages.tar.bz2 35314 BLAKE2B 5368ddc4471d4ebf7e6f2bbd6525293dc8f6300fecf9a303e344b4e5415e5e04e9a9d0fbd636b2a1b554e8a55a69e4306842491ad3cc7c4c227b6ac35f52cc8b SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3
-DIST llvm-3.5.2-patchset.tar.gz 4568 BLAKE2B ab7db30375f497a41e2cd657a628bddf621ccaf48042dbdf29b7bdec0c5b11b2c0dd2d99df72dd9b5acb01b7bb3147f2b91844984be2f842fb115149f61cf0aa SHA512 6df5a61d3e949dbe9840e713eb90e7514760c5ae68e241494d0246925015ac7e9d73671dd0646eb44d2d9232665027783d02c00639f41385615ec541d4e2fa93
-DIST llvm-3.5.2.src.tar.xz 11876128 BLAKE2B 05700e6b162beddb246077507147c30cc36f334f4c3142225b038104f674cbb40a3fe145ba82724196ec995235c137fd132e1f98689f77b102c722a84300e069 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406
-DIST llvm-3.6.1-manpages.tar.bz2 38338 BLAKE2B d5d385e55c3817e8b25dd33178929d9bcbf59cb8390ecfb44c83c58c3bc1e7c2aae2b0969da4f4f5dbe6b052ab802e00c48f3fb68c6548bc4c8647f5fe4687f9 SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662
-DIST llvm-3.6.2-patchset.tar.gz 4562 BLAKE2B 76b7c01e54d5fe154e10478aa6fc8a414458baf3939b71d8a2fe5787c52b7d28bdc07a7eb4b1c00ec4c2da4cdc6df75b49ade528f4451a1e4ee0d31940fab033 SHA512 6018e7d96317e6a46f373259430782a1377193ab64b337d5f6720a4ffe0eb0891e7e9373fb9c20da66e840f07e52f2bccb2a8c51bb55ded0f124748796cce1c8
-DIST llvm-3.6.2.src.tar.xz 12802380 BLAKE2B c9ac1c83d99efe5d673a41650b587584b6233420a9d1e02a5cfdc0b7bb99b761ddb3fe48677c8bc0714734af06660a72daf96936057bac19f3e41645404d347b SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36
-DIST llvm-3.7.0-manpages.tar.bz2 38095 BLAKE2B 67be777ceba745fee8a2128de05d2e22b1eeec275afb24376891dcda90dbd2486e58456248934b1cfaf907a80954c7ee537fe0d69bb87db167401f41c404212a SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643
-DIST llvm-3.7.1-patchset.tar.gz 17234 BLAKE2B 93e3676c9b1a34462435a376e35f0768d57e4db1001d136864f99b569c0235be7f51c21491f9792e7169e221de1e9faeb728928b8963420bbb36234ff28b4eb7 SHA512 030dc7f72d11fcd53307f707d5dde321054feb0f0977601c3e188a37f2be6c14bfd05482d1c1e5f435aaf32ca7c7e3701cf5f1375fbd0cf83cf8afbad7f4f6be
-DIST llvm-3.7.1.src.tar.xz 14592544 BLAKE2B f3a197dec9a397be02d2c55d73624352cf1474d935ca6dac466f8f44de0990c3f37b10a598fa2e871dfa27d3506087826dfcd23cb19bbd700cec54141c7d35fb SHA512 ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90
-DIST llvm-3.9.0_rc3-manpages.tar.bz2 80007 BLAKE2B e770497834a5863f5c988d3bae8ef0f7e5551a505d2db9557567976c10fbaa68fb6013f9136db2123e626a99046b47ea5c0d62e1ea830d998015a1f67f67eeb9 SHA512 f96c340021de3f096ec3ad7d51a6af2c7a84974122d1df15729a39d4f9d65452f063a85ab38adb064288dc14220d9cc679b31ee19b48424d3d7cde621ff37597
-DIST llvm-3.9.1-patchset.tar.xz 16404 BLAKE2B 9c9d630e6c6a70ba6a026a6ecb7a7d29a567e6b85fc92ce128a8129006ccad44defc07a46351dfa188128a91d419696f6c36a0e184a04f9d1270d5431cbd59f5 SHA512 dcae89ba910b5195bb455924242912f526b6994f0f236571b6364fd594bf9ca03cc74e116a44ae4372e34ce63b21f1351125157e7af7a957aee115f400b54089
-DIST llvm-3.9.1.src.tar.xz 18130436 BLAKE2B 90afd2c06e612132bbc84c29fed59abdfdaed41f8a7590e3f60ba5072179317365f15f301f577ba050b78797f682bef8fa85ebad7391fd3e67b46eb02a5df068 SHA512 50cbe8ee911080f586e77861c442348701bd02e2de0c090c54c34f82ac275ecfcd712af0f41e387c33b4a6057778a4258a27554292fe68ab4af3fd9dd6d90683
DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d
DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb
DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492ccdc9fd2c26cc7dfbd8fb2b9e68418ca8fdf42cdc303c361e649cc6939bf5229cbad017bdccbd5d791e92752328252f SHA512 568615bce5a75d42e4b6d592557472d366d49a99f8e81be10ae679804f1fe674c7fd0bbdac09af44fc67ee5aa34c4ed2153c2767c536ac8e45dd15c811c92dcb
diff --git a/sys-devel/llvm/llvm-3.4.2-r100.ebuild b/sys-devel/llvm/llvm-3.4.2-r100.ebuild
deleted file mode 100644
index 5b59202f359..00000000000
--- a/sys-devel/llvm/llvm-3.4.2-r100.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
- python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.gz
- clang? ( https://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
- https://dev.gentoo.org/~mgorny/dist/llvm/${PN}-3.4-manpages.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz
- https://dev.gentoo.org/~grobian/distfiles/${PN}-3.4-patchset-darwin-leopard.tar.gz"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend (disabled): ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not installed): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain"
-SLOT="0/3.4"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang +libffi"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- libffi? ( >=virtual/libffi-3.0.13-r1:0= )"
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3 )
- >=sys-devel/binutils-apple-5.1
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-S=${WORKDIR}/${P}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-3.4 "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${WORKDIR}/${P}-patchset"/nodoctargz.patch
- epatch "${WORKDIR}/${P}-patchset"/gentoo-install.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
-
- if [[ ${CHOST} != *-darwin8 ]] ; then
- # Darwin8/Tiger-only patch
- rm "${WORKDIR}"/${PN}-3.4-patchset-darwin-leopard/0006-* || die
- fi
-
- if [[ ${CHOST} == *-darwin8 ]] || [[ ${CHOST} == *-darwin9 ]] ; then
- EPATCH_SOURCE="${WORKDIR}"/${PN}-3.4-patchset-darwin-leopard \
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
- epatch "${WORKDIR}/${P}-patchset"/clang/darwin_build_fix.patch
- epatch "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- if use prefix ; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
- if [[ ${CHOST} == powerpc*-apple-darwin* ]] ; then
- # set ppc as arch for compiler_rt
- local arch=${CHOST%%-*}
- sed -i -e '/^UniversalArchs/s/:=.*$/:= '${arch/ower/}'/' \
- projects/compiler-rt/make/platform/clang_darwin*.mk || die
- fi
- fi
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- --enable-optimized
- --disable-assertions
- --disable-expensive-checks
- --disable-terminfo
- $(use_enable libffi)
-
- --enable-bindings=none
- --enable-targets=host
-
- ac_cv_prog_XML2CONFIG=""
- )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
- fi
-
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-src_compile() {
- LLVM_MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- emake "${LLVM_MAKEARGS[@]}"
-
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
-}
-
-src_install() {
- emake "${LLVM_MAKEARGS[@]}" DESTDIR="${D}" install
-
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die
- else
- for tool in clang{,++} ; do
- dosym ${tool} /usr/bin/${CHOST}-${tool}
- done
- fi
- doman "${WORKDIR}"/${PN}-3.4-manpages/*.1
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib BugpointPasses.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.5.2-r100.ebuild b/sys-devel/llvm/llvm-3.5.2-r100.ebuild
deleted file mode 100644
index fc7b03e22ba..00000000000
--- a/sys-devel/llvm/llvm-3.5.2-r100.ebuild
+++ /dev/null
@@ -1,276 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
- python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
- https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not installed): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain"
-SLOT="0/3.5"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang +libffi"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- libffi? ( >=virtual/libffi-3.0.13-r1:0= )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3 )
- >=sys-devel/binutils-apple-5.1
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-S=${WORKDIR}/${P}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${WORKDIR}/${P}-patchset"/nodoctargz.patch
- epatch "${WORKDIR}/${P}-patchset"/gcc-4.9.patch
- epatch "${WORKDIR}/${P}-patchset"/gentoo-install.patch
- epatch "${WORKDIR}/${P}-patchset"/gcc-5.1.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
- epatch "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- --enable-optimized
- --disable-assertions
- --disable-expensive-checks
- --disable-libedit
- --disable-terminfo
- $(use_enable libffi)
-
- --enable-bindings=none
- --enable-targets=host
-
- ac_cv_prog_XML2CONFIG=""
- )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
- fi
-
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-src_compile() {
- LLVM_MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- emake "${LLVM_MAKEARGS[@]}"
-
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
-}
-
-src_install() {
- emake "${LLVM_MAKEARGS[@]}" DESTDIR="${D}" install
-
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die
- else
- for tool in clang{,++} ; do
- dosym ${tool} /usr/bin/${CHOST}-${tool}
- done
- fi
- doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.6.2-r100.ebuild b/sys-devel/llvm/llvm-3.6.2-r100.ebuild
deleted file mode 100644
index c84af618ae0..00000000000
--- a/sys-devel/llvm/llvm-3.6.2-r100.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-inherit eutils check-reqs flag-o-matic multilib pax-utils prefix \
- python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz )
- https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.6.1-manpages.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not installed): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain"
-SLOT="0/3.6"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang +libffi"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- libffi? ( >=virtual/libffi-3.0.13-r1:0= )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3 )
- >=sys-devel/binutils-apple-5.1
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99
- !>=sys-devel/clang-9999 )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
-
-S=${WORKDIR}/${P}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die
- ebegin "Trying to build a C++11 test program"
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler"
- eerror "to gcc-4.7 or an equivalent version supporting C++11."
- die "Currently active compiler does not support -std=c++11"
- fi
- eend ${?}
- fi
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
- || die "symlinks removal failed"
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- fi
-}
-
-src_prepare() {
- epatch "${WORKDIR}/${P}-patchset"/nodoctargz.patch
- epatch "${WORKDIR}/${P}-patchset"/gcc-4.9.patch
- epatch "${WORKDIR}/${P}-patchset"/gentoo-install.patch
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
-
- epatch "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
- epatch "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444
- epatch "${WORKDIR}/${P}-patchset"/clang/fbsd-gcc49.patch
- fi
-
- if use prefix && use clang; then
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
- projects/compiler-rt/make/platform/clang_*.mk || die
- fi
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- local sub_files=(
- Makefile.config.in
- Makefile.rules
- tools/llvm-config/llvm-config.cpp
- )
- use clang && sub_files+=(
- tools/clang/lib/Driver/Tools.cpp
- tools/clang/tools/scan-build/scan-build
- )
-
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- # note: we're setting the main libdir intentionally.
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
- einfo "Fixing install dirs"
- sed -e "s,@libdir@,$(get_libdir),g" \
- -e "s,@PF@,${PF},g" \
- -e "s,@EPREFIX@,${EPREFIX},g" \
- -i "${sub_files[@]}" \
- || die "install paths sed failed"
-
- if use clang; then
- # constantly fails for a long time, likely due to our patches
- rm tools/clang/test/Driver/cross-linux.c || die
- fi
-
- # User patches
- epatch_user
-
- python_setup
-}
-
-src_configure() {
- # disable timestamps since they confuse ccache
- local conf_flags=(
- --disable-timestamps
- --enable-keep-symbols
- --enable-shared
- --with-optimize-option=
- --enable-optimized
- --disable-assertions
- --disable-expensive-checks
- --disable-libedit
- --disable-terminfo
- $(use_enable libffi)
-
- --enable-bindings=none
- --enable-targets=host
-
- ac_cv_prog_XML2CONFIG=""
- )
-
- if use libffi; then
- local CPPFLAGS=${CPPFLAGS}
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags libffi)"
- fi
-
- # Enable large file support, bug #550708
- append-lfs-flags
- # llvm prefers clang over gcc, so we may need to force that
- tc-export CC CXX
-
- ECONF_SOURCE=${S} \
- econf "${conf_flags[@]}"
-}
-
-src_compile() {
- LLVM_MAKEARGS=(
- VERBOSE=1
- REQUIRES_RTTI=1
- GENTOO_LIBDIR=$(get_libdir)
- )
-
- emake "${LLVM_MAKEARGS[@]}"
-
- pax-mark m Release/bin/llvm-rtdyld
- pax-mark m Release/bin/lli
- pax-mark m Release/bin/lli-child-target
-}
-
-src_install() {
- emake "${LLVM_MAKEARGS[@]}" DESTDIR="${D}" install
-
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.6.1-manpages/clang.1 || die
- else
- for tool in clang{,++} ; do
- dosym ${tool} /usr/bin/${CHOST}-${tool}
- done
- fi
- doman "${WORKDIR}"/${PN}-3.6.1-manpages/*.1
-
- # Fix install_names on Darwin. The build system is too complicated
- # to just fix this, so we correct it post-install
- local lib= f= odylib= ndylib= libpv=${PV}
- if [[ ${CHOST} == *-darwin* ]] ; then
- eval $(grep PACKAGE_VERSION= configure)
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
- libpvminor=${libpv%.[0-9]*}
- for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- # + omit clang libs if not enabled
- [[ -f ${ED}/usr/lib/${lib} ]] || continue
-
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${lib} \
- "${ED}"/usr/lib/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
- # omit clang libs if not enabled
- [[ -f "${f}" ]] || continue
-
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
- while read odylib ; do
- ndylib=
- case ${odylib} in
- */libclang.dylib)
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib
- ;;
- */libLLVM-${libpv}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
- ;;
- */libLLVM-${libpvminor}.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
- ;;
- */libLTO.dylib)
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
- ;;
- esac
- if [[ -n ${ndylib} ]] ; then
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
- install_name_tool \
- -change "${odylib}" "${ndylib}" \
- "${f}"
- eend $?
- fi
- done
- done
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild
deleted file mode 100644
index e431dbff768..00000000000
--- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild
+++ /dev/null
@@ -1,559 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.7.0-manpages.tar.bz2 )
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.gz"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. autoconf (not used): some undefined M.I.T. license.
-# 5. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- arm? ( LLVM-Grant )
- multitarget? ( LLVM-Grant )"
-SLOT="0/${PV}"
-KEYWORDS="~arm ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml
- python +static-analyzer test xml video_cards_radeon
- kernel_Darwin"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/findlib
- dev-ml/ocaml-ctypes
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )"
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )
- kernel_Darwin? ( =sys-libs/libcxx-${PV}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Make ocaml warnings non-fatal, bug #537308
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${WORKDIR}/${P}-patchset"/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${WORKDIR}/${P}-patchset"/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${WORKDIR}/${P}-patchset"/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${WORKDIR}/${P}-patchset"/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
-
- # Prevent installing libgtest
- # https://llvm.org/bugs/show_bug.cgi?id=18341
- eapply "${WORKDIR}/${P}-patchset"/0005-cmake-Do-not-install-libgtest.patch
-
- # Fix llvm-config for shared linking, sane flags and return values
- # in order:
- # - backported r247159 that adds --build-system (needed for later code)
- # - backported r252532 that adds better shared linking support
- # - our fixes
- # - backported r260343 that fixes cross-compilation
- # combination of backported upstream r252532 with our patch
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-0.patch
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-1.patch
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-2.patch
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-3.patch
-
- # Fix msan with newer kernels, #569894
- eapply "${WORKDIR}/${P}-patchset"/msan-fix.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${WORKDIR}/${P}-patchset"/clang/gentoo-runtime-gcc-detection-v3.patch
-
- # Support gcc4.9 search paths
- # https://github.com/llvm-mirror/clang/commit/af4db76e059c1a3
- eapply "${WORKDIR}/${P}-patchset"/clang/gcc4.9-search-path.patch
-
- eapply "${WORKDIR}/${P}-patchset"/clang/gentoo-install.patch
-
- eapply "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- # Fix -isystem support in ccc-analyzer
- eapply "${WORKDIR}/${P}-patchset"/clang/ccc-analyzer-isystem.patch
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${WORKDIR}/${P}-patchset"/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Do not force -march flags on arm platforms
- # https://bugs.gentoo.org/show_bug.cgi?id=562706
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/arm_march_flags.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${WORKDIR}/${P}-patchset"/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix msan with newer kernels, compiler-rt part, #569894
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/msan-fix.patch
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
-
- # Fix Python paths, bugs #562436 and #562438
- eapply "${WORKDIR}/${P}-patchset"/lldb/python.patch
- sed -e "s/GENTOO_LIBDIR/$(get_libdir)/" \
- -i tools/lldb/scripts/Python/finishSwigPythonLLDB.py || die
-
- # Fix build with ncurses[tinfo], #560474
- # https://llvm.org/viewvc/llvm-project?view=revision&revision=247842
- eapply "${WORKDIR}/${P}-patchset"/lldb/tinfo.patch
- fi
-
- # User patches + QA
- cmake-utils_src_prepare
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local targets
- if use multitarget; then
- targets=all
- else
- targets='host;BPF;CppBackend'
- use video_cards_radeon && targets+=';AMDGPU'
- fi
-
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_ENABLE_TIMESTAMPS=OFF
- -DLLVM_TARGETS_TO_BUILD="${targets}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- # note: magic applied in multilib_src_install()!
- CLANG_VERSION=${PV%.*}
-
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/clang
- /usr/bin/clang++
- /usr/bin/clang-cl
- /usr/bin/clang-${CLANG_VERSION}
- /usr/bin/clang++-${CLANG_VERSION}
- /usr/bin/clang-cl-${CLANG_VERSION}
- )
-
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Install man pages.
- use doc || doman "${WORKDIR}"/${PN}-3.7.0-manpages/*.1
-
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-
- # apply CHOST and CLANG_VERSION to clang executables
- # they're statically linked so we don't have to worry about the lib
- if use clang; then
- local clang_tools=( clang clang++ clang-cl )
- local i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl -> clang*-X.Y
- # so we need to fix the two tools
- for i in "${clang_tools[@]:1}"; do
- rm "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}"
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}"
- done
-
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it
- if ! multilib_is_native_abi; then
- # non-native? let's replace it with a simple wrapper
- for i in "${clang_tools[@]}"; do
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die
- cat > "${T}"/wrapper.tmp <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}"
- done
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use static-analyzer ; then
- pushd tools/scan-build >/dev/null || die
-
- dobin ccc-analyzer scan-build
- dosym ccc-analyzer /usr/bin/c++-analyzer
- doman scan-build.1
-
- insinto /usr/share/llvm
- doins scanview.css sorttable.js
-
- popd >/dev/null || die
- fi
-
- if use static-analyzer ; then
- pushd tools/scan-view >/dev/null || die
-
- python_doscript scan-view
-
- touch __init__.py || die
- python_moduleinto clang
- python_domodule *.py Resources
-
- popd >/dev/null || die
- fi
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use lldb && use python; then
- python_optimize
- fi
- fi
-}
diff --git a/sys-devel/llvm/llvm-3.9.1-r1.ebuild b/sys-devel/llvm/llvm-3.9.1-r1.ebuild
deleted file mode 100644
index 39e45f7ddb7..00000000000
--- a/sys-devel/llvm/llvm-3.9.1-r1.ebuild
+++ /dev/null
@@ -1,547 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \
- multilib-minimal python-single-r1 toolchain-funcs pax-utils prefix
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz
- clang? ( https://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
- https://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
- lldb? ( https://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${PN}-3.9.0_rc3-manpages.tar.bz2 )
- https://dev.gentoo.org/~mgorny/dist/llvm/${P}-patchset.tar.xz"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="0/${PV}"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="clang debug default-compiler-rt default-libcxx doc gold libedit +libffi
- lldb multitarget ncurses ocaml python +sanitize +static-analyzer test xml
- elibc_musl kernel_Darwin kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
-
-COMMON_DEPEND="
- sys-libs/zlib:0=
- clang? (
- python? ( ${PYTHON_DEPS} )
- static-analyzer? (
- dev-lang/perl:*
- ${PYTHON_DEPS}
- )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- lldb? ( dev-python/six[${PYTHON_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- ocaml? (
- >=dev-lang/ocaml-4.00.0:0=
- dev-ml/ocaml-ctypes:=
- !!<=sys-devel/llvm-3.7.0-r1[ocaml] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=sys-devel/make-3.81
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.875d
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
- kernel_Darwin? ( <sys-libs/libcxx-${PV%_rc*}.9999 )
- clang? ( xml? ( virtual/pkgconfig ) )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- lldb? ( dev-lang/swig )
- !!<dev-python/configparser-3.3.0.2
- ocaml? ( dev-ml/findlib
- test? ( dev-ml/ounit ) )
- ${PYTHON_DEPS}"
-RDEPEND="${COMMON_DEPEND}
- clang? ( !<=sys-devel/clang-${PV}-r99 )"
-PDEPEND="
- clang? (
- =sys-devel/clang-${PV}-r100
- ~sys-devel/clang-runtime-${PV}
- )
- default-libcxx? ( sys-libs/libcxx )
- kernel_Darwin? ( =sys-libs/libcxx-${PV%.*}* )"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- lldb? ( clang xml )
- || ( ${ALL_LLVM_TARGETS[*]} )
- multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_}.src
-
-check_space() {
- # in megs
- # !clang !debug !multitarget -O2 400
- # !clang !debug multitarget -O2 550
- # clang !debug !multitarget -O2 950
- # clang !debug multitarget -O2 1200
- # !clang debug multitarget -O2 5G
- # clang !debug multitarget -O0 -g 12G
- # clang debug multitarget -O2 16G
- # clang debug multitarget -O0 -g 14G
-
- local build_size=550
- use clang && build_size=1200
-
- if use debug; then
- ewarn "USE=debug is known to increase the size of package considerably"
- ewarn "and cause the tests to fail."
- ewarn
-
- (( build_size *= 14 ))
- elif is-flagq '-g?(gdb)?([1-9])'; then
- ewarn "The C++ compiler -g option is known to increase the size of the package"
- ewarn "considerably. If you run out of space, please consider removing it."
- ewarn
-
- (( build_size *= 10 ))
- fi
-
- # Multiply by number of ABIs :).
- local abis=( $(multilib_get_enabled_abis) )
- (( build_size *= ${#abis[@]} ))
-
- local CHECKREQS_DISK_BUILD=${build_size}M
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
-}
-
-src_unpack() {
- default
-
- if use clang; then
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
- || die "clang source directory move failed"
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \
- || die "compiler-rt source directory move failed"
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \
- || die "clang-tools-extra source directory move failed"
- fi
-
- if use lldb; then
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
- || die "lldb source directory move failed"
- fi
-}
-
-src_prepare() {
- python_setup
-
- # Fix libdir for ocaml bindings install, bug #559134
- eapply "${WORKDIR}/${P}-patchset"/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch
- # Do not build/install ocaml docs with USE=-doc, bug #562008
- eapply "${WORKDIR}/${P}-patchset"/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch
-
- # Make it possible to override Sphinx HTML install dirs
- # https://llvm.org/bugs/show_bug.cgi?id=23780
- eapply "${WORKDIR}/${P}-patchset"/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
-
- # Prevent race conditions with parallel Sphinx runs
- # https://llvm.org/bugs/show_bug.cgi?id=23781
- eapply "${WORKDIR}/${P}-patchset"/0004-cmake-Use-separate-doctrees-to-prevent-races-between.patch
-
- # Allow custom cmake build types (like 'Gentoo')
- eapply "${WORKDIR}/${P}-patchset"/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${WORKDIR}/${P}-patchset"/llvm-config-r1.patch
-
- # Restore SOVERSIONs for shared libraries
- # https://bugs.gentoo.org/show_bug.cgi?id=578392
- eapply "${WORKDIR}/${P}-patchset"/0008-cmake-Reintroduce-ldconfig-compatible-SOVERSIONs-on-.patch
-
- # Revert commit breaking AMDGPU
- # https://bugs.gentoo.org/show_bug.cgi?id=603858
- eapply "${WORKDIR}/${P}-patchset"/0009-Revert-AMDGPU-Fix-an-interaction-between-WQM-and-pol.patch
-
- # support building llvm against musl-libc
- use elibc_musl && eapply "${WORKDIR}/${P}-patchset"/musl-fixes.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Workaround, can be compiled with gcc on Gentoo/FreeBSD, bug #578064
- use kernel_FreeBSD && tc-is-gcc && append-cppflags "-D_GLIBCXX_USE_C99"
-
- if use clang; then
- # Automatically select active system GCC's libraries, bugs #406163 and #417913
- eapply "${WORKDIR}/${P}-patchset"/clang/gcc-config.patch
-
- eapply "${WORKDIR}/${P}-patchset"/clang/darwin_prefix-include-paths.patch
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
-
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/darwin-default-sysroot.patch
-
- pushd "${S}"/tools/clang >/dev/null || die
- # be able to specify default values for -stdlib and -rtlib at build time
- eapply "${WORKDIR}/${P}-patchset"/clang/default-libs.patch
- popd >/dev/null || die
-
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \
- tools/clang/tools/scan-build/bin/scan-build || die
-
- # Install clang runtime into /usr/lib/clang
- # https://llvm.org/bugs/show_bug.cgi?id=23792
- eapply "${WORKDIR}/${P}-patchset"/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
- eapply "${WORKDIR}/${P}-patchset"/compiler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
-
- # Make it possible to override CLANG_LIBDIR_SUFFIX
- # (that is used only to find LLVMgold.so)
- # https://llvm.org/bugs/show_bug.cgi?id=23793
- eapply "${WORKDIR}/${P}-patchset"/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
-
- # Fix git-clang-format shebang, bug #562688
- python_fix_shebang tools/clang/tools/clang-format/git-clang-format
-
- pushd projects/compiler-rt >/dev/null || die
-
- # Fix WX sections, bug #421527
- find lib/builtins -type f -name '*.S' -exec sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i {} + || die
-
- popd >/dev/null || die
- fi
-
- if use lldb; then
- # Do not install dummy readline.so module from
- # https://llvm.org/bugs/show_bug.cgi?id=18841
- sed -e 's/add_subdirectory(readline)/#&/' \
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
- # Do not install bundled six module
- eapply "${WORKDIR}/${P}-patchset"/lldb/six.patch
- fi
-
- # User patches + QA
- cmake-utils_src_prepare
-
- # Native libdir is used to hold LLVMgold.so
- NATIVE_LIBDIR=$(get_libdir)
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -DHAVE_HISTEDIT_H=$(usex libedit)
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # override default stdlib and rtlib
- -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
- -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
-
- # compiler-rt's test cases depend on sanitizer
- -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
- -DCOMPILER_RT_INCLUDE_TESTS=$(usex sanitize)
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
- -DLLDB_DISABLE_CURSES=$(usex !ncurses)
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
- )
- fi
-
- if ! multilib_is_native_abi || ! use ocaml; then
- mycmakeargs+=(
- -DOCAMLFIND=NO
- )
- fi
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang"
- )
- fi
-
- if use gold; then
- mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if use lldb; then
- mycmakeargs+=(
- -DLLDB_DISABLE_PYTHON=$(usex !python)
- )
- fi
-
- else
- if use clang; then
- mycmakeargs+=(
- # disable compiler-rt on non-native ABI because:
- # 1. it fails to configure because of -m32
- # 2. it is shared between ABIs so no point building
- # it multiple times
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
- if use lldb; then
- mycmakeargs+=(
- # only run swig on native abi
- -DLLDB_DISABLE_PYTHON=ON
- )
- fi
- fi
-
- if use clang; then
- mycmakeargs+=(
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}"
- )
-
- # -- not needed when compiler-rt is built with host compiler --
- # cmake passes host C*FLAGS to compiler-rt build
- # which is performed using clang, so we need to filter out
- # some flags clang does not support
- # (if you know some more flags that don't work, let us know)
- #filter-flags -msahf -frecord-gcc-switches
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/llvm-tblgen" ]] \
- || die "/usr/bin/llvm-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
- )
-
- if use clang; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
- fi
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
- # TODO: not sure why this target is not correctly called
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-
- # provide a symlink for tests
- if [[ $(get_libdir) != lib ]]; then
- ln -s "../$(get_libdir)/clang" lib/clang || die
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check )
- # clang tests won't work on non-native ABI because we skip compiler-rt
- multilib_is_native_abi && use clang && test_targets+=( check-clang )
- cmake-utils_src_make "${test_targets[@]}"
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/config.h
- /usr/include/llvm/Config/llvm-config.h
- )
-
- if use clang; then
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/clang/Config/config.h
- )
- fi
-
- multilib-minimal_src_install
-
- if use clang; then
- # Apply CHOST and version suffix to clang tools
- local clang_version=${PV%.*}
- local clang_tools=( clang clang++ clang-cl clang-cpp )
- local abi i
-
- # cmake gives us:
- # - clang-X.Y
- # - clang -> clang-X.Y
- # - clang++, clang-cl, clang-cpp -> clang
- # we want to have:
- # - clang-X.Y
- # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y
- # also in CHOST variant
- for i in "${clang_tools[@]:1}"; do
- rm -f "${ED%/}/usr/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/bin/${i}"
- done
-
- # now create target symlinks for all supported ABIs
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/bin/${abi_chost}-${i}"
- done
- done
- fi
-
- # Remove unnecessary headers on FreeBSD, bug #417171
- if use kernel_FreeBSD && use clang; then
- rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
- fi
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- if multilib_is_native_abi; then
- # Symlink the gold plugin.
- if use gold; then
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
- fi
- fi
-}
-
-multilib_src_install_all() {
- insinto /usr/share/vim/vimfiles
- doins -r utils/vim/*/.
- # some users may find it useful
- dodoc utils/vim/vimrc
-
- # Install man pages from the prebuilt package
- if ! use doc; then
- if ! use clang; then
- rm "${WORKDIR}"/${PN}-3.9.0_rc3-manpages/{clang,extraclangtools,scan-build}.1 || die
- fi
-
- doman "${WORKDIR}"/${PN}-3.9.0_rc3-manpages/*.1
- fi
-
- if use clang; then
- pushd tools/clang >/dev/null || die
-
- if use python ; then
- pushd bindings/python/clang >/dev/null || die
-
- python_moduleinto clang
- python_domodule *.py
-
- popd >/dev/null || die
- fi
-
- # AddressSanitizer symbolizer (currently separate)
- dobin "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
-
- popd >/dev/null || die
-
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"usr/share/scan-view
- fi
- fi
-}
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 4538466dde0..d0737020549 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -10,18 +10,11 @@
3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
<use>
- <flag name="clang">Build the clang C/C++ compiler</flag>
- <flag name="default-compiler-rt">Use compiler-rt instead of libgcc as the default rtlib for clang</flag>
- <flag name="default-libcxx">Use libc++ instead of libstdc++ as the default stdlib for clang</flag>
<flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
<flag name="exegesis">Enable performance counter support for llvm-exegesis tool
that can be used to measure host machine instruction characteristics</flag>
<flag name="gold">Build the gold linker plugin</flag>
- <flag name="lldb">Build the lldb debugger</flag>
- <flag name="multitarget">Build all host targets (default: host only)</flag>
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
- <flag name="sanitize">Build compiler-rt's sanitizers</flag>
- <flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag>
<flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
(uses <pkg>app-arch/xar</pkg>)</flag>
</use>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-12 13:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-12 13:14 UTC (permalink / raw
To: gentoo-commits
commit: 7bf0b35b6d0a6b3cf73502a56e34e78a0be2c661
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 12 12:59:52 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 13:14:02 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bf0b35b
sys-devel/llvm: Bump to 8.0.0rc5
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-8.0.0_rc5.ebuild | 292 +++++++++++++++++++++++++++++++++++
2 files changed, 293 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 7b62f9c64cb..79d09db50a3 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,4 +8,5 @@ DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-8.0.0rc2.src.tar.xz 30492444 BLAKE2B e7afd3b66e3eb204e07348f0bc77f0ae03d8e9581de4c94cba7c0b43b53f36ecd891c1272ce43ea6c78999fd404a7db105266a2eaca22975133571e1152961af SHA512 9d93197848e9472cc2fef2477897e4f4d74a79b17a164fd43446b0ffb327e7f484cf64f0c294d9a99707c0b46282eb0d16e6ceb5d2d568f25e4235f70ae3c5e7
DIST llvm-8.0.0rc3.src.tar.xz 30507604 BLAKE2B c9baaca537d292af9f12368df86090750508113eb7db393fe44c1ba7579df947f0a7092e6ddd4403bda9f9ed75fe8c049f3baf6d8671faa0c91e3267c584893a SHA512 82199841c2084cffe4e86b4f2d5ebe404059196f1f6d000ee69cfddba05d78c4500ad7499615fa67e9774ead6cba5a23db484dd85f752c8d08e8067f7d7b98ca
+DIST llvm-8.0.0rc5.src.tar.xz 30507432 BLAKE2B 3f20c3dc270439a32fe23e403ca5190e624f329a10d424d15475d32d89725b021f12af19845928da41be4b83afd254df1f6d27f235b0d2ab81ff76d9e588250f SHA512 b015bab2f0b0644d9fab295dee5d3b2a4d4d7c9d5870a06d7829f43d61e92aeb31b28d4c074f6a20ad803dde06399ef3298c951f1580b010f4b756f75bb4453b
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-8.0.0_rc5.ebuild b/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
new file mode 100644
index 00000000000..167c83db857
--- /dev/null
+++ b/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
+# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+# if ! use doc; then
+# # (doman does not support custom paths)
+# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+# fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-13 8:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-13 8:22 UTC (permalink / raw
To: gentoo-commits
commit: 1f7a7694538ef2e256e1d3cb94da1cb391df9c31
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 07:47:09 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 07:47:11 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f7a7694
sys-devel/llvm: Update binutils dep in live ebuilds & RC
Update binutils dependency to account for USE flag rename in live
ebuilds and the masked RC. ~arch ebuilds are going to be updated
as new releases are added to avoid spurious rebuilds.
Bug: https://bugs.gentoo.org/677888
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-7.0.9999.ebuild | 7 ++++++-
sys-devel/llvm/llvm-8.0.0_rc5.ebuild | 7 ++++++-
sys-devel/llvm/llvm-8.0.9999.ebuild | 7 ++++++-
sys-devel/llvm/llvm-9999.ebuild | 7 ++++++-
4 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-7.0.9999.ebuild b/sys-devel/llvm/llvm-7.0.9999.ebuild
index 9e2be474c59..c361a226832 100644
--- a/sys-devel/llvm/llvm-7.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-7.0.9999.ebuild
@@ -42,7 +42,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-8.0.0_rc5.ebuild b/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
index 167c83db857..250137f620f 100644
--- a/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
+++ b/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
@@ -40,7 +40,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-8.0.9999.ebuild b/sys-devel/llvm/llvm-8.0.9999.ebuild
index b31f34a9105..4d4395f2fdb 100644
--- a/sys-devel/llvm/llvm-8.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-8.0.9999.ebuild
@@ -42,7 +42,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index abc5f6f5ebd..0da81c25c4c 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -44,7 +44,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-13 8:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-13 8:22 UTC (permalink / raw
To: gentoo-commits
commit: 4d73c5fe228d54ed3b90d2a15bb8c9ff932d1ed7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 07:50:09 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 07:50:09 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d73c5fe
sys-devel/llvm: Remove 8.0.0rc[23]
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-8.0.0_rc2.ebuild | 292 -----------------------------------
sys-devel/llvm/llvm-8.0.0_rc3.ebuild | 292 -----------------------------------
3 files changed, 586 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 79d09db50a3..900a57f0b30 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,7 +6,5 @@ DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df545
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
-DIST llvm-8.0.0rc2.src.tar.xz 30492444 BLAKE2B e7afd3b66e3eb204e07348f0bc77f0ae03d8e9581de4c94cba7c0b43b53f36ecd891c1272ce43ea6c78999fd404a7db105266a2eaca22975133571e1152961af SHA512 9d93197848e9472cc2fef2477897e4f4d74a79b17a164fd43446b0ffb327e7f484cf64f0c294d9a99707c0b46282eb0d16e6ceb5d2d568f25e4235f70ae3c5e7
-DIST llvm-8.0.0rc3.src.tar.xz 30507604 BLAKE2B c9baaca537d292af9f12368df86090750508113eb7db393fe44c1ba7579df947f0a7092e6ddd4403bda9f9ed75fe8c049f3baf6d8671faa0c91e3267c584893a SHA512 82199841c2084cffe4e86b4f2d5ebe404059196f1f6d000ee69cfddba05d78c4500ad7499615fa67e9774ead6cba5a23db484dd85f752c8d08e8067f7d7b98ca
DIST llvm-8.0.0rc5.src.tar.xz 30507432 BLAKE2B 3f20c3dc270439a32fe23e403ca5190e624f329a10d424d15475d32d89725b021f12af19845928da41be4b83afd254df1f6d27f235b0d2ab81ff76d9e588250f SHA512 b015bab2f0b0644d9fab295dee5d3b2a4d4d7c9d5870a06d7829f43d61e92aeb31b28d4c074f6a20ad803dde06399ef3298c951f1580b010f4b756f75bb4453b
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-8.0.0_rc2.ebuild b/sys-devel/llvm/llvm-8.0.0_rc2.ebuild
deleted file mode 100644
index 167c83db857..00000000000
--- a/sys-devel/llvm/llvm-8.0.0_rc2.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
-# if ! use doc; then
-# # (doman does not support custom paths)
-# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
-# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
-# fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-8.0.0_rc3.ebuild b/sys-devel/llvm/llvm-8.0.0_rc3.ebuild
deleted file mode 100644
index 167c83db857..00000000000
--- a/sys-devel/llvm/llvm-8.0.0_rc3.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
-# if ! use doc; then
-# # (doman does not support custom paths)
-# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
-# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
-# fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-20 15:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-20 15:02 UTC (permalink / raw
To: gentoo-commits
commit: 2a049e123b079474153425a28ef48ac914af4875
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 14:17:18 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 15:02:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a049e12
sys-devel/llvm: Remove 8.0.0rc5
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-8.0.0_rc5.ebuild | 297 -----------------------------------
2 files changed, 298 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a9df8377fa2..38730acdba9 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,5 +8,4 @@ DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-8.0.0-manpages.tar.bz2 140542 BLAKE2B e6c58865ace0b8848ffe825e931a639daa5b22099317b3263acf8df4b8d5e1e97ed54a85b9241e6874b112c67114bda5617c3014c3bc1430c179bdf389e77269 SHA512 198f5bde8c610aa7953b325fc29c2bebe5c3d81469af6273975ed32cd739a9936813fca7399acc49809c322cf73fbdaa77a834f889bd78fe4672024965ea47fb
DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f
-DIST llvm-8.0.0rc5.src.tar.xz 30507432 BLAKE2B 3f20c3dc270439a32fe23e403ca5190e624f329a10d424d15475d32d89725b021f12af19845928da41be4b83afd254df1f6d27f235b0d2ab81ff76d9e588250f SHA512 b015bab2f0b0644d9fab295dee5d3b2a4d4d7c9d5870a06d7829f43d61e92aeb31b28d4c074f6a20ad803dde06399ef3298c951f1580b010f4b756f75bb4453b
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-8.0.0_rc5.ebuild b/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
deleted file mode 100644
index 250137f620f..00000000000
--- a/sys-devel/llvm/llvm-8.0.0_rc5.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-# !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
-# if ! use doc; then
-# # (doman does not support custom paths)
-# insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
-# doins "${WORKDIR}/${P}-manpages/llvm"/*.1
-# fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-03-22 17:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-03-22 17:07 UTC (permalink / raw
To: gentoo-commits
commit: 95aea74a88738aa69c1e2e317d377733d511543c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 15:46:31 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 22 17:07:21 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95aea74a
sys-devel/llvm: WebAssembly is no longer experimental in 8.0+
Reported-by: Matthew Smith <matt <AT> offtopica.uk>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-8.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-8.0.0.ebuild b/sys-devel/llvm/llvm-8.0.0.ebuild
index 7c162fc0d0b..590f25fc855 100644
--- a/sys-devel/llvm/llvm-8.0.0.ebuild
+++ b/sys-devel/llvm/llvm-8.0.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
diff --git a/sys-devel/llvm/llvm-8.0.9999.ebuild b/sys-devel/llvm/llvm-8.0.9999.ebuild
index 4d4395f2fdb..762eed9364f 100644
--- a/sys-devel/llvm/llvm-8.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-8.0.9999.ebuild
@@ -20,7 +20,7 @@ EGIT_BRANCH="release_80"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 0da81c25c4c..fe059751a9f 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -18,10 +18,10 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV WebAssembly )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-04-05 13:33 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-04-05 13:33 UTC (permalink / raw
To: gentoo-commits
commit: c517e4d45aee114001aaab69c7013502b68fc87b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 5 13:33:11 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 5 13:33:26 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c517e4d4
sys-devel/llvm: Squash unnecessary revbump to 8.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.0-r1.ebuild | 301 ------------------------------------
sys-devel/llvm/llvm-8.0.0.ebuild | 4 +
2 files changed, 4 insertions(+), 301 deletions(-)
diff --git a/sys-devel/llvm/llvm-8.0.0-r1.ebuild b/sys-devel/llvm/llvm-8.0.0-r1.ebuild
deleted file mode 100644
index 212c6de1227..00000000000
--- a/sys-devel/llvm/llvm-8.0.0-r1.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix failures when /usr/include contains dangling symlinks
- # https://bugs.gentoo.org/674662
- eapply "${FILESDIR}"/8.0.0/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
-
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-8.0.0.ebuild b/sys-devel/llvm/llvm-8.0.0.ebuild
index 590f25fc855..212c6de1227 100644
--- a/sys-devel/llvm/llvm-8.0.0.ebuild
+++ b/sys-devel/llvm/llvm-8.0.0.ebuild
@@ -93,6 +93,10 @@ python_check_deps() {
}
src_prepare() {
+ # Fix failures when /usr/include contains dangling symlinks
+ # https://bugs.gentoo.org/674662
+ eapply "${FILESDIR}"/8.0.0/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
+
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-04-17 20:09 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-04-17 20:09 UTC (permalink / raw
To: gentoo-commits
commit: beb5b2eb7c9c9bb4c70c0965219c99524fc70cab
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 17 19:12:00 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 20:09:40 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=beb5b2eb
sys-devel/llvm: Bump to 7.1.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-7.1.0.ebuild | 260 +++++++++++++++++++++++++++++++++++++++
2 files changed, 262 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 38730acdba9..d3b6ce6ae62 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,6 +6,8 @@ DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df545
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
+DIST llvm-7.1.0-manpages.tar.bz2 120786 BLAKE2B b52a7afe7c5c170894e910ef2c651a5f38f0bd41147a2c63dc5b8a92f0ec37512e913e68efce51e1643e8f20cf0f3f088d31d19c541d2ff361ecb7d89b234b6c SHA512 78a526d889a8e62accf422655acbb4d17e3c22b0f0830003db0068b3c01c367ac32ce4f4be4cbb2966274440865557c25795205af2a59a054a6f6964294d289f
+DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.0-manpages.tar.bz2 140542 BLAKE2B e6c58865ace0b8848ffe825e931a639daa5b22099317b3263acf8df4b8d5e1e97ed54a85b9241e6874b112c67114bda5617c3014c3bc1430c179bdf389e77269 SHA512 198f5bde8c610aa7953b325fc29c2bebe5c3d81469af6273975ed32cd739a9936813fca7399acc49809c322cf73fbdaa77a834f889bd78fe4672024965ea47fb
DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f
DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
new file mode 100644
index 00000000000..ed9e4e2b252
--- /dev/null
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( dev-python/sphinx )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT%/*} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${P/_/}.src
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT%/*}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT%.*}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT%/*}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT%/*}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT%/*} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT%/*}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT%/*}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT%/*}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-04-19 18:43 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-04-19 18:43 UTC (permalink / raw
To: gentoo-commits
commit: 553387da4b61af13df1d81eb400554f30195a713
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 18:42:37 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 18:43:18 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=553387da
sys-devel/llvm: Update binutils dep in 7.1.0
Bug: https://bugs.gentoo.org/677888
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-7.1.0.ebuild | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index ed9e4e2b252..b7dd83e3536 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -40,7 +40,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-11 11:25 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2019-05-11 11:25 UTC (permalink / raw
To: gentoo-commits
commit: 2e19bd2e3e0185638f87783de908d3e35e9c86bb
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 11:24:01 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat May 11 11:24:01 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e19bd2e
sys-devel/llvm: x86 stable wrt bug #674068
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
RepoMan-Options: --include-arches="x86"
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 1eb15310c89..3fcb3fa117b 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-12 15:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-05-12 15:10 UTC (permalink / raw
To: gentoo-commits
commit: d8067956ae7040fe576d79949e76f9b3d852f520
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 15:08:11 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May 12 15:10:22 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8067956
sys-devel/llvm: Fix typo in tblgen path, in 7.1.0
Closes: https://bugs.gentoo.org/685716
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 3fcb3fa117b..4571db63951 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -165,7 +165,7 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT%.*}/bin/llvm-tblgen"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/bin/llvm-tblgen"
[[ -x "${tblgen}" ]] \
|| die "${tblgen} not found or usable"
mycmakeargs+=(
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-13 17:36 Aaron Bauman
0 siblings, 0 replies; 860+ messages in thread
From: Aaron Bauman @ 2019-05-13 17:36 UTC (permalink / raw
To: gentoo-commits
commit: eb3a0c33f21937414f5ba3ccf578c9a78ab1c32f
Author: Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 17:30:19 2019 +0000
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Mon May 13 17:30:19 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb3a0c33
sys-devel/llvm: arm64 stable
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Package-Manager: Portage-2.3.66, Repoman-2.3.12
RepoMan-Options: --include-arches="arm64"
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 4571db63951..0a6f9fd206d 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-15 9:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-05-15 9:53 UTC (permalink / raw
To: gentoo-commits
commit: 2fd0cfec2aa93648540c37aebe56a4bb18d7873c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 09:49:50 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 15 09:53:14 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fd0cfec
sys-devel/llvm: Remove 7.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-7.0.1.ebuild | 260 ---------------------------------------
2 files changed, 262 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index d3b6ce6ae62..064f8f47d74 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,8 +4,6 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
-DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
-DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
DIST llvm-7.1.0-manpages.tar.bz2 120786 BLAKE2B b52a7afe7c5c170894e910ef2c651a5f38f0bd41147a2c63dc5b8a92f0ec37512e913e68efce51e1643e8f20cf0f3f088d31d19c541d2ff361ecb7d89b234b6c SHA512 78a526d889a8e62accf422655acbb4d17e3c22b0f0830003db0068b3c01c367ac32ce4f4be4cbb2966274440865557c25795205af2a59a054a6f6964294d289f
DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.0-manpages.tar.bz2 140542 BLAKE2B e6c58865ace0b8848ffe825e931a639daa5b22099317b3263acf8df4b8d5e1e97ed54a85b9241e6874b112c67114bda5617c3014c3bc1430c179bdf389e77269 SHA512 198f5bde8c610aa7953b325fc29c2bebe5c3d81469af6273975ed32cd739a9936813fca7399acc49809c322cf73fbdaa77a834f889bd78fe4672024965ea47fb
diff --git a/sys-devel/llvm/llvm-7.0.1.ebuild b/sys-devel/llvm/llvm-7.0.1.ebuild
deleted file mode 100644
index 72fae375763..00000000000
--- a/sys-devel/llvm/llvm-7.0.1.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( dev-python/sphinx )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/7.1.0/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-15 13:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-05-15 13:00 UTC (permalink / raw
To: gentoo-commits
commit: 1f891340b59a9f47a3747dfd8c02c9e6be9c9653
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 12:59:22 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 15 12:59:47 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f891340
sys-devel/llvm: Update binutils dep in remaining versions
Closes: https://bugs.gentoo.org/677888
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-4.0.1-r1.ebuild | 7 ++++++-
sys-devel/llvm/llvm-5.0.2.ebuild | 7 ++++++-
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 7 ++++++-
sys-devel/llvm/llvm-6.0.1.ebuild | 7 ++++++-
4 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-4.0.1-r1.ebuild b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
index 410573dc10b..83f6f64dba2 100644
--- a/sys-devel/llvm/llvm-4.0.1-r1.ebuild
+++ b/sys-devel/llvm/llvm-4.0.1-r1.ebuild
@@ -38,7 +38,12 @@ IUSE="debug doc gold libedit +libffi ncurses test
RDEPEND="
sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index dbda3db29a2..80b1b7799ed 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -39,7 +39,12 @@ IUSE="debug doc gold libedit +libffi ncurses test
RDEPEND="
sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index 7a983e01f19..14a3816982e 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -39,7 +39,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index fde2a075f4d..a326996a190 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -39,7 +39,12 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=
- gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-15 14:51 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2019-05-15 14:51 UTC (permalink / raw
To: gentoo-commits
commit: 64f8a3e04334805d3cd2521479de688a261e740b
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 14:51:13 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Wed May 15 14:51:13 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64f8a3e0
sys-devel/llvm: amd64 stable wrt bug #686028
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
RepoMan-Options: --include-arches="amd64"
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index 14a3816982e..f9c0b897dbe 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-05-18 1:37 Aaron Bauman
0 siblings, 0 replies; 860+ messages in thread
From: Aaron Bauman @ 2019-05-18 1:37 UTC (permalink / raw
To: gentoo-commits
commit: a16d7f8bd0ea72fd365c25218fd03634d9eb825d
Author: Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Sat May 18 01:36:44 2019 +0000
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Sat May 18 01:36:44 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a16d7f8b
sys-devel/llvm: arm64 stable (bug #686028)
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Package-Manager: Portage-2.3.66, Repoman-2.3.12
RepoMan-Options: --include-arches="arm64"
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index f9c0b897dbe..97625a81a46 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-06-04 20:58 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2019-06-04 20:58 UTC (permalink / raw
To: gentoo-commits
commit: c1e379d6562db25bc22ed1e53a6289f832a1d8fe
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 4 20:43:03 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Jun 4 20:58:05 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1e379d6
sys-devel/llvm: x86 stable (bug #686028)
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index 97625a81a46..e63c8ba26ae 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-06-11 17:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-06-11 17:12 UTC (permalink / raw
To: gentoo-commits
commit: c9c76b9e95976ff1a55782b4c0f2c888323f50cd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 11 17:09:20 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 17:12:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9c76b9e
sys-devel/llvm: Enable Python 3 in -9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index fe059751a9f..f194df95051 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -6,7 +6,7 @@ EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
multiprocessing pax-utils python-any-r1 toolchain-funcs
@@ -288,7 +288,7 @@ multilib_src_install_all() {
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "To use these scripts, you will need Python along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
elog " dev-python/pyyaml (for all of them)"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-20 12:50 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-20 12:50 UTC (permalink / raw
To: gentoo-commits
commit: 193225520fda528e67c91d273b0e3571f5a4503b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 08:52:25 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 12:49:50 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19322552
sys-devel/llvm: Bump to 8.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-8.0.1.ebuild | 298 +++++++++++++++++++++++++++++++++++++++
2 files changed, 300 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c8c1a8eac37..aa3df95d0da 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,3 +7,5 @@ DIST llvm-7.1.0-manpages.tar.bz2 120786 BLAKE2B b52a7afe7c5c170894e910ef2c651a5f
DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.0-manpages.tar.bz2 140542 BLAKE2B e6c58865ace0b8848ffe825e931a639daa5b22099317b3263acf8df4b8d5e1e97ed54a85b9241e6874b112c67114bda5617c3014c3bc1430c179bdf389e77269 SHA512 198f5bde8c610aa7953b325fc29c2bebe5c3d81469af6273975ed32cd739a9936813fca7399acc49809c322cf73fbdaa77a834f889bd78fe4672024965ea47fb
DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f
+DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
+DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
new file mode 100644
index 00000000000..6e9b9a37861
--- /dev/null
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. ARM backend: LLVM Software Grant by ARM.
+# 3. MD5 code: public-domain.
+# 4. Tests (not installed):
+# a. gtest: BSD.
+# b. YAML tests: MIT.
+
+LICENSE="UoI-NCSA rc BSD public-domain
+ llvm_targets_ARM? ( LLVM-Grant )"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ !doc? ( ${PYTHON_DEPS} )
+ gold? ( sys-libs/binutils-libs )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED%/}"/usr/include || die
+ mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python 2.7 along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-20 20:57 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-20 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 2ac37ed196b9c2c21186182db1146e346a09f0ed
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 20:35:09 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 20:57:40 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ac37ed1
sys-devel/llvm: -9999 is now 10.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index f194df95051..556b4d9e54d 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -35,7 +35,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="9"
+SLOT="10"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-20 22:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-20 22:34 UTC (permalink / raw
To: gentoo-commits
commit: 953191395f71c76cb817088e968bc109d951d7dc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 20:55:02 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 22:34:35 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95319139
sys-devel/llvm: Bump -9999 to EAPI 7
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9999.ebuild | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 556b4d9e54d..90b0e0d3850 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,15 +1,15 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
+inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
+ python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -69,7 +69,6 @@ DEPEND="${RDEPEND}
dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
') )
- !doc? ( ${PYTHON_DEPS} )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
!!<dev-python/configparser-3.3.0.2
@@ -259,15 +258,15 @@ src_install() {
multilib-minimal_src_install
# move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
}
multilib_src_install() {
cmake-utils_src_install
# move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
}
@@ -287,7 +286,7 @@ multilib_src_install_all() {
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
elog "To use these scripts, you will need Python along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-21 7:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-21 7:34 UTC (permalink / raw
To: gentoo-commits
commit: 732b4f03cb6ccef6ff0189e8d6c0b26ef03f1f2e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 07:14:09 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 07:33:55 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=732b4f03
sys-devel/llvm: Remove 8.0.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.9999.ebuild | 290 ------------------------------------
1 file changed, 290 deletions(-)
diff --git a/sys-devel/llvm/llvm-8.0.9999.ebuild b/sys-devel/llvm/llvm-8.0.9999.ebuild
deleted file mode 100644
index 762eed9364f..00000000000
--- a/sys-devel/llvm/llvm-8.0.9999.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
-EGIT_BRANCH="release_80"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-21 19:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-21 19:40 UTC (permalink / raw
To: gentoo-commits
commit: 743c04391ba4f919759a1f5752b280d7ca8f1d0f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 10:40:41 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 19:40:14 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=743c0439
sys-devel/llvm: -9.0.9999 → -9.0.0.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-9.0.9999.ebuild => llvm-9.0.0.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-9.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-9.0.9999.ebuild
rename to sys-devel/llvm/llvm-9.0.0.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-22 9:28 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-22 9:28 UTC (permalink / raw
To: gentoo-commits
commit: 47ff14dcc1e136404f521bbf92dc37aea32116d2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 15:46:12 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 22 09:28:12 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47ff14dc
sys-devel/llvm: Remove mistaken use of PYTHON_REQUIRED_USE
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 3 +--
sys-devel/llvm/llvm-5.0.2.ebuild | 5 ++---
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 3 +--
sys-devel/llvm/llvm-6.0.1.ebuild | 5 ++---
sys-devel/llvm/llvm-7.1.0.ebuild | 3 +--
sys-devel/llvm/llvm-8.0.0.ebuild | 3 +--
sys-devel/llvm/llvm-8.0.1.ebuild | 3 +--
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 3 +--
8 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index f386e27201d..04608a4f141 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -80,8 +80,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index 80b1b7799ed..16c23e4ecfd 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -70,8 +70,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index e63c8ba26ae..cecd92afce6 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -72,8 +72,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index a326996a190..d801ca21e89 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -72,8 +72,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 0a6f9fd206d..5b953a41b5a 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -73,8 +73,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT%/*} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-8.0.0.ebuild b/sys-devel/llvm/llvm-8.0.0.ebuild
index 212c6de1227..069d8dc2ebb 100644
--- a/sys-devel/llvm/llvm-8.0.0.ebuild
+++ b/sys-devel/llvm/llvm-8.0.0.ebuild
@@ -77,8 +77,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${P/_/}.src
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 6e9b9a37861..776acd7fbeb 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -78,8 +78,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S=${WORKDIR}/${MY_P}
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index d54731a4d35..ecf98d65555 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -78,8 +78,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-22 10:42 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-07-22 10:42 UTC (permalink / raw
To: gentoo-commits
commit: e0c37990b91903cbccdd3a1eeba265c910c99cc4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 22 10:21:07 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 22 10:42:14 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0c37990
sys-devel/llvm: 9.0.0+ introduce Z3 support (moved from clang)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 6 ++++--
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 6 ++++--
sys-devel/llvm/metadata.xml | 1 +
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 04608a4f141..8f93e039da4 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -37,7 +37,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -54,7 +54,8 @@ RDEPEND="
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -146,6 +147,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-DWITH_POLLY=OFF # TODO
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index ecf98d65555..dbdf1284b2a 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
@@ -52,7 +52,8 @@ RDEPEND="
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
@@ -141,6 +142,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-DWITH_POLLY=OFF # TODO
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index d0737020549..1f534c1999e 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -17,5 +17,6 @@
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
<flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
(uses <pkg>app-arch/xar</pkg>)</flag>
+ <flag name="z3">Enable support for <pkg>sci-mathematics/z3</pkg> constraint solver</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-28 9:34 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2019-07-28 9:34 UTC (permalink / raw
To: gentoo-commits
commit: 0e2a9e12d4282fcfb8b41b065379651a3bf53f36
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 09:33:44 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 09:33:44 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e2a9e12
sys-devel/llvm: arm stable wrt bug #674068
Package-Manager: Portage-2.3.66, Repoman-2.3.16
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 5b953a41b5a..0241b48c77b 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-07-28 19:51 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2019-07-28 19:51 UTC (permalink / raw
To: gentoo-commits
commit: 43bcaa0c0208cbeeb772ed0fc7dc9747eb325dfe
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 19:51:13 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 19:51:45 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43bcaa0c
sys-devel/llvm: arm stable wrt bug #686028
Package-Manager: Portage-2.3.66, Repoman-2.3.16
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index cecd92afce6..cde23251282 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -32,7 +32,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-08-04 11:11 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-08-04 11:11 UTC (permalink / raw
To: gentoo-commits
commit: 501ed0232ef61ad04d02ee18ea2b781d7a870d9b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 4 11:06:04 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 4 11:06:04 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=501ed023
sys-devel/llvm: Add MULTILIB_USEDEP on app-arch/zlib
Bug: https://bugs.gentoo.org/690962
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 2 +-
sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
sys-devel/llvm/llvm-8.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 8f93e039da4..00350a42ae2 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -42,7 +42,7 @@ IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
gold? (
|| (
diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
index 16c23e4ecfd..840938cac7c 100644
--- a/sys-devel/llvm/llvm-5.0.2.ebuild
+++ b/sys-devel/llvm/llvm-5.0.2.ebuild
@@ -38,7 +38,7 @@ IUSE="debug doc gold libedit +libffi ncurses test
kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
gold? (
|| (
>=sys-devel/binutils-2.31.1-r4:*[plugins]
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index cde23251282..45ab641dc66 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -38,7 +38,7 @@ IUSE="debug doc gold libedit +libffi ncurses test xar xml
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
gold? (
|| (
>=sys-devel/binutils-2.31.1-r4:*[plugins]
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index d801ca21e89..395441ba7a4 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -38,7 +38,7 @@ IUSE="debug doc gold libedit +libffi ncurses test xar xml
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
gold? (
|| (
>=sys-devel/binutils-2.31.1-r4:*[plugins]
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 0241b48c77b..e785407ad28 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -38,7 +38,7 @@ IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
gold? (
|| (
diff --git a/sys-devel/llvm/llvm-8.0.0.ebuild b/sys-devel/llvm/llvm-8.0.0.ebuild
index 069d8dc2ebb..598c0b67919 100644
--- a/sys-devel/llvm/llvm-8.0.0.ebuild
+++ b/sys-devel/llvm/llvm-8.0.0.ebuild
@@ -38,7 +38,7 @@ IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
gold? (
|| (
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 776acd7fbeb..af0c9dae944 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -39,7 +39,7 @@ IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
gold? (
|| (
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index dbdf1284b2a..af9151627bc 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -40,7 +40,7 @@ IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
RESTRICT="!test? ( test )"
RDEPEND="
- sys-libs/zlib:0=
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
gold? (
|| (
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-08-12 13:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-08-12 13:21 UTC (permalink / raw
To: gentoo-commits
commit: 2f25ca2030ebd53ff3e6f3d9f171a71dc22c9b5f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 12:30:56 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 13:20:43 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f25ca20
sys-devel/llvm: RISCV is no longer exp. in 9.0+
Closes: https://bugs.gentoo.org/691816
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 4 ++--
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 00350a42ae2..268f913570b 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -18,10 +18,10 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index af9151627bc..1e231591b90 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -20,7 +20,7 @@ EGIT_BRANCH="release_90"
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-08-18 10:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-08-18 10:07 UTC (permalink / raw
To: gentoo-commits
commit: 33e9f21e07bc433134132dfc8478c9b8eb5ae690
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 18 08:25:57 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 18 10:07:20 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33e9f21e
sys-devel/llvm: Update LICENSE for 9+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 9 +++------
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 9 +++------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 268f913570b..0fbb96cebb2 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -27,14 +27,11 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
+# 2. xxhash: BSD.
# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
+# 4. ConvertUTF.h: TODO.
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index 1e231591b90..abd71ac5d2c 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -25,14 +25,11 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
+# 2. xxhash: BSD.
# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
+# 4. ConvertUTF.h: TODO.
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-10 7:06 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2019-09-10 7:06 UTC (permalink / raw
To: gentoo-commits
commit: 3a9cad042c83559d049d61a3cc3685f3343953c3
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 07:05:30 2019 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 07:05:30 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a9cad04
sys-devel/llvm: amd64 stable wrt bug #693856
Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index af0c9dae944..a8e0ee9c4e1 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-10 7:10 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2019-09-10 7:10 UTC (permalink / raw
To: gentoo-commits
commit: 69f8f11f79ef961bda9bb5214db33d62786647f7
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 07:09:51 2019 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 07:09:51 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69f8f11f
sys-devel/llvm: x86 stable wrt bug #693856
Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index a8e0ee9c4e1..f8f00339897 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-11 11:06 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2019-09-11 11:06 UTC (permalink / raw
To: gentoo-commits
commit: 60a6db325a26e75c482d00c659827e2920565f66
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 11 11:05:41 2019 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Wed Sep 11 11:05:41 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60a6db32
sys-devel/llvm: ppc64 stable wrt bug #693856
Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="ppc64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index f8f00339897..8262fd729d5 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-13 15:47 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2019-09-13 15:47 UTC (permalink / raw
To: gentoo-commits
commit: 92bebec648405a933fbd1a15a6e2728fef1b14bf
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 13 15:46:08 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Fri Sep 13 15:46:08 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92bebec6
sys-devel/llvm: arm stable wrt bug #693856
Package-Manager: Portage-2.3.69, Repoman-2.3.16
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 8262fd729d5..0746ccc1381 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-16 15:05 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-09-16 15:05 UTC (permalink / raw
To: gentoo-commits
commit: 17d10010f7e4578ed704a2672c952b18f569727c
Author: stefson <herrtimson <AT> yahoo <DOT> de>
AuthorDate: Mon Sep 16 07:00:02 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 16 15:05:27 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17d10010
sys-devel/llvm: move dev-lang/perl to BDEPEND wrt #694460
dev-lang/perl is a build time dependency of llvm, only during cross
compile it must be run by the host (CBUILD) and not the target (CHOST).
Moving it to BDEPEND solves the issue of dev-lang/perl and friends
getting pulled into the dependency graph as compile time dependencies
during cross compile. BDEPEND has been introduced in EAPI=7, so the fix
is only possible for >=llvm-9.x
Closes: https://bugs.gentoo.org/694460
Signed-off-by: Steffen Kuhn <nielson2 <AT> yandex.com>
Closes: https://github.com/gentoo/gentoo/pull/12941
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 0fbb96cebb2..bacec8033f4 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -55,7 +55,6 @@ RDEPEND="
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
- dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
@@ -75,6 +74,7 @@ DEPEND="${RDEPEND}
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
+BDEPEND="dev-lang/perl"
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index abd71ac5d2c..f294d093706 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -53,7 +53,6 @@ RDEPEND="
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
- dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
@@ -73,6 +72,7 @@ DEPEND="${RDEPEND}
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
+BDEPEND="dev-lang/perl"
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-16 22:13 Aaron Bauman
0 siblings, 0 replies; 860+ messages in thread
From: Aaron Bauman @ 2019-09-16 22:13 UTC (permalink / raw
To: gentoo-commits
commit: cc0fdedc7930b34750a1f300be418237c07d68bc
Author: Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 16 21:53:56 2019 +0000
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Mon Sep 16 22:13:43 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc0fdedc
sys-devel/llvm: arm64 stable (bug #693856)
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Package-Manager: Portage-2.3.76, Repoman-2.3.17
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 0746ccc1381..cc7266ad8ff 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -33,7 +33,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="UoI-NCSA rc BSD public-domain
llvm_targets_ARM? ( LLVM-Grant )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-17 21:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-09-17 21:01 UTC (permalink / raw
To: gentoo-commits
commit: 618a0bfbf207f9ee176dcdfd16b88737a2da3c08
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 21:00:17 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 21:00:51 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=618a0bfb
sys-devel/llvm: Use BDEPEND semi-properly
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 9 +++++----
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 9 +++++----
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index bacec8033f4..131e44a7f88 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -55,6 +55,9 @@ RDEPEND="
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
@@ -66,7 +69,6 @@ DEPEND="${RDEPEND}
dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
') )
- gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
@@ -74,7 +76,6 @@ DEPEND="${RDEPEND}
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
-BDEPEND="dev-lang/perl"
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
@@ -86,8 +87,8 @@ CMAKE_BUILD_TYPE=RelWithDebInfo
python_check_deps() {
use doc || return 0
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
src_prepare() {
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index f294d093706..937bff8cf3b 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -53,6 +53,9 @@ RDEPEND="
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
@@ -64,7 +67,6 @@ DEPEND="${RDEPEND}
dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
') )
- gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
@@ -72,7 +74,6 @@ DEPEND="${RDEPEND}
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
-BDEPEND="dev-lang/perl"
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
@@ -84,8 +85,8 @@ CMAKE_BUILD_TYPE=RelWithDebInfo
python_check_deps() {
use doc || return 0
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
src_prepare() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-20 22:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-09-20 22:12 UTC (permalink / raw
To: gentoo-commits
commit: 1e75c7d3714d6b5268931b483accbc81aea1d841
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 20 09:33:15 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 22:11:47 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e75c7d3
sys-devel/llvm: Bump to 9.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-9.0.0.ebuild | 296 +++++++++++++++++++++++++++++++++++++++
2 files changed, 298 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index fff43bd5dee..ed2fa13e9b2 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,3 +6,5 @@ DIST llvm-8.0.0-manpages.tar.bz2 140542 BLAKE2B e6c58865ace0b8848ffe825e931a639d
DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
+DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
+DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
new file mode 100644
index 00000000000..3e1b660cfe0
--- /dev/null
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+inherit cmake-utils multilib-minimal multiprocessing pax-utils \
+ python-any-r1 toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${P}-manpages/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-09-21 9:15 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-09-21 9:15 UTC (permalink / raw
To: gentoo-commits
commit: 41d1c512863be0d732d6f5fa25fe857212ff991a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 08:32:59 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 09:15:35 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41d1c512
sys-devel/llvm: Reorder ebuild vars in 9+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 3 +--
sys-devel/llvm/llvm-9.0.0.9999.ebuild | 3 +--
sys-devel/llvm/llvm-9.0.0.ebuild | 6 ++----
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 131e44a7f88..e632d6c930c 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -36,6 +36,7 @@ SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -79,8 +80,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
index 937bff8cf3b..5ff9e20d7e1 100644
--- a/sys-devel/llvm/llvm-9.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.9999.ebuild
@@ -34,6 +34,7 @@ SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -77,8 +78,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
index 3e1b660cfe0..8cd42b405cc 100644
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -16,6 +16,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
+S=${WORKDIR}/${MY_P}
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -33,6 +34,7 @@ SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -76,10 +78,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${MY_P}
-
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-01 12:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-01 12:22 UTC (permalink / raw
To: gentoo-commits
commit: 2d31ac8b47e1a8b56c6acd823fa3a0ccc3c96d7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 11:43:51 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 12:22:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d31ac8b
sys-devel/llvm: Nios2 was removed upstream
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index e632d6c930c..a58ed35b541 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -18,7 +18,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-01 12:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-01 12:22 UTC (permalink / raw
To: gentoo-commits
commit: 0337acfc93433dcb7b505eeea86b91034eabfc78
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 12:09:52 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 12:22:30 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0337acfc
sys-devel/llvm: Add ARC target
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 6bfea01a739..92a9c5ae1c1 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -18,7 +18,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
https://github.com/llvm-mirror/llvm.git"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-01 12:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-01 12:22 UTC (permalink / raw
To: gentoo-commits
commit: 460260affe1c3ac55992d94581672a49abdb2fcf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 12:09:04 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 12:22:28 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=460260af
sys-devel/llvm: Add target obsolescence check
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 35 ++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index a58ed35b541..6bfea01a739 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -90,6 +90,38 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ ewarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ ewarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ ewarn "Expected: ${exp_targets[*]}"
+ ewarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ ewarn "ALL_LLVM_TARGETS is outdated!"
+ ewarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ ewarn "Expected: ${all_targets[*]}"
+ fi
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -100,6 +132,9 @@ src_prepare() {
# User patches + QA
cmake-utils_src_prepare
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
}
# Is LLVM being linked against libc++?
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-02 20:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-02 20:27 UTC (permalink / raw
To: gentoo-commits
commit: deb0943d59970cc531d30502195d2fa0aae2e7e7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 2 20:25:00 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 20:27:35 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deb0943d
sys-devel/llvm: Switch outdated target reports to eqawarn
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index eccfd8a533b..bd137968658 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -109,16 +109,16 @@ check_live_ebuild() {
all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- ewarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- ewarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- ewarn "Expected: ${exp_targets[*]}"
- ewarn
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
fi
if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- ewarn "ALL_LLVM_TARGETS is outdated!"
- ewarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- ewarn "Expected: ${all_targets[*]}"
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-02 20:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-02 20:27 UTC (permalink / raw
To: gentoo-commits
commit: 22a57fe378193e3fff45dac0d668eaeecc3aee9f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 11:52:29 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 20:27:34 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22a57fe3
sys-devel/llvm: Switch 10+ to dylib build
Build and install the single dylib instead of split shared libs in 10+.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 182 ++++++++++++++++++++++++++++++++-
1 file changed, 180 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 92a9c5ae1c1..eccfd8a533b 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -122,6 +122,62 @@ check_live_ebuild() {
fi
}
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -149,6 +205,122 @@ is_libcxx_linked() {
[[ ${out} == *HAVE_LIBCXX* ]]
}
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
multilib_src_configure() {
local ffi_cflags ffi_ldflags
if use libffi; then
@@ -164,7 +336,11 @@ multilib_src_configure() {
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
- -DBUILD_SHARED_LIBS=ON
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
# cheap hack: LLVM combines both anyway, and the only difference
# is that the former list is explicitly verified at cmake time
-DLLVM_TARGETS_TO_BUILD=""
@@ -256,6 +432,8 @@ multilib_src_configure() {
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
}
multilib_src_compile() {
@@ -295,7 +473,7 @@ src_install() {
}
multilib_src_install() {
- cmake-utils_src_install
+ DESTDIR=${D} cmake-utils_src_make install-distribution
# move headers to /usr/include for wrapping
rm -rf "${ED}"/usr/include || die
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-11 18:57 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-11 18:57 UTC (permalink / raw
To: gentoo-commits
commit: 39648a88e4fca0e91be366c5b1891d9172da58c2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 11 18:16:50 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 11 18:57:03 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39648a88
sys-devel/llvm: Update config.guess from gnuconfig in 10+
Closes: https://bugs.gentoo.org/697510
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index bd137968658..77a6c842383 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -59,6 +59,7 @@ DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
+ sys-devel/gnuconfig
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
@@ -186,6 +187,9 @@ src_prepare() {
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
# User patches + QA
cmake-utils_src_prepare
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-10-12 11:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-10-12 11:27 UTC (permalink / raw
To: gentoo-commits
commit: a805676b095aca48711fc6ffa05b538bb4a801c2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 12 11:24:18 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 12 11:26:42 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a805676b
sys-devel/llvm: Upstream is now at 9.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-9.0.0.9999.ebuild => llvm-9.0.1.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-9.0.0.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-9.0.0.9999.ebuild
rename to sys-devel/llvm/llvm-9.0.1.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-11-01 13:16 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-11-01 13:16 UTC (permalink / raw
To: gentoo-commits
commit: ce8ff0eac8ac8b86125c420cd157452ca818d2e6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 1 08:34:47 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 1 13:15:50 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce8ff0ea
sys-devel/llvm: Switch live to monorepo
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 9 +++++++--
sys-devel/llvm/llvm-9.0.1.9999.ebuild | 11 ++++++++---
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 77a6c842383..c5cd658cd7b 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -14,8 +14,8 @@ inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
+EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
+S=${WORKDIR}/${P}/llvm
# Those are in lib/Targets, without explicit CMakeLists.txt mention
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
@@ -91,6 +91,11 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
+src_unpack() {
+ git-r3_fetch
+ git-r3_checkout '' '' '' llvm
+}
+
check_live_ebuild() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
diff --git a/sys-devel/llvm/llvm-9.0.1.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
index 5ff9e20d7e1..45e29fba1c7 100644
--- a/sys-devel/llvm/llvm-9.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
@@ -14,9 +14,9 @@ inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
SRC_URI=""
-EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
- https://github.com/llvm-mirror/llvm.git"
-EGIT_BRANCH="release_90"
+EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
+EGIT_BRANCH="release/9.x"
+S=${WORKDIR}/${P}/llvm
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -88,6 +88,11 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
+src_unpack() {
+ git-r3_fetch
+ git-r3_checkout '' '' '' llvm
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-11-03 10:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-11-03 10:00 UTC (permalink / raw
To: gentoo-commits
commit: 4cbd0422031ccceda2fbde7b265451f3663f7787
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 3 09:44:06 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 3 10:00:17 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cbd0422
sys-devel/llvm: Remove redundant CMAKE* in EAPI 7
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 4 ----
sys-devel/llvm/llvm-9.0.0.ebuild | 4 ----
sys-devel/llvm/llvm-9.0.1.9999.ebuild | 4 ----
3 files changed, 12 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index c5cd658cd7b..467c5badf2e 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -3,11 +3,7 @@
EAPI=7
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
index 62d66ff6800..96e7ec6b1e7 100644
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -3,11 +3,7 @@
EAPI=7
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
inherit cmake-utils multilib-minimal multiprocessing pax-utils \
python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-9.0.1.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
index 45e29fba1c7..26723e46b91 100644
--- a/sys-devel/llvm/llvm-9.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
@@ -3,11 +3,7 @@
EAPI=7
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
python-any-r1 toolchain-funcs
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-11-03 11:46 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-11-03 11:46 UTC (permalink / raw
To: gentoo-commits
commit: d7f66c9b43333fa04b416bca54ae943124bfb9ea
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 1 17:37:48 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 3 11:46:09 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7f66c9b
sys-devel/llvm: Port 9+ to llvm.org.eclass
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 14 ++++----------
sys-devel/llvm/llvm-9.0.0.ebuild | 20 +++++++++++++++-----
sys-devel/llvm/llvm-9.0.1.9999.ebuild | 15 ++++-----------
3 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 467c5badf2e..ac0af7a686a 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -4,14 +4,13 @@
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
-S=${WORKDIR}/${P}/llvm
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
@@ -87,11 +86,6 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-src_unpack() {
- git-r3_fetch
- git-r3_checkout '' '' '' llvm
-}
-
check_live_ebuild() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
index 96e7ec6b1e7..a01238a0f75 100644
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -4,15 +4,15 @@
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
-MY_P=${P}.src
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
+SRC_URI="
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-S=${WORKDIR}/${MY_P}
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -84,6 +84,16 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
+src_unpack() {
+ llvm.org_src_unpack
+
+ if ! use doc; then
+ ebegin "Unpacking llvm-${PV}-manpages.tar.bz2"
+ tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
+ eend
+ fi
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
diff --git a/sys-devel/llvm/llvm-9.0.1.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
index 26723e46b91..2f2597f5b16 100644
--- a/sys-devel/llvm/llvm-9.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
@@ -4,15 +4,13 @@
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils git-r3 multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
-EGIT_BRANCH="release/9.x"
-S=${WORKDIR}/${P}/llvm
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -84,11 +82,6 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-src_unpack() {
- git-r3_fetch
- git-r3_checkout '' '' '' llvm
-}
-
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-11-23 7:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-11-23 7:58 UTC (permalink / raw
To: gentoo-commits
commit: 4c958e0053210b1702b01635e94cda31fdc73ce7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 23 07:48:39 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 23 07:48:39 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c958e00
sys-devel/llvm: Bump to 9.0.1_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-9.0.1_rc1.ebuild | 281 +++++++++++++++++++++++++++++++++++
2 files changed, 282 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b0f6afbed2b..2095bf9996e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,3 +6,4 @@ DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
+DIST llvmorg-9.0.1-rc1.tar.gz 113193716 BLAKE2B 1ab52c778a139d33674589c27bf5a4d619dd4df49344b508c16de3ca6fad09c19480ceb615e0d9cf6d1981c7f28e106f087c0cd7bc2ccb844bec7099f5d227c2 SHA512 ed4b11cadbd57aa5f531d598e320a6bd54c67a8c713671af12ce62bc02283515ecbbc65ccbe3b0db3bad517cc4e6386cc3565be9eb9b9d06ca2a598428abf557
diff --git a/sys-devel/llvm/llvm-9.0.1_rc1.ebuild b/sys-devel/llvm/llvm-9.0.1_rc1.ebuild
new file mode 100644
index 00000000000..2f2597f5b16
--- /dev/null
+++ b/sys-devel/llvm/llvm-9.0.1_rc1.ebuild
@@ -0,0 +1,281 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ !!<dev-python/configparser-3.3.0.2
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-07 9:15 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-07 9:15 UTC (permalink / raw
To: gentoo-commits
commit: 7fa71624479e0e2e80e1fb8a59f225fde89a15ec
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 7 07:49:17 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 7 09:15:36 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fa71624
sys-devel/llvm: Remove 9.0.1rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-9.0.1_rc1.ebuild | 281 -----------------------------------
2 files changed, 282 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f3f01deaec8..5c7b9c94b5b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,5 +6,4 @@ DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
-DIST llvmorg-9.0.1-rc1.tar.gz 113193716 BLAKE2B 1ab52c778a139d33674589c27bf5a4d619dd4df49344b508c16de3ca6fad09c19480ceb615e0d9cf6d1981c7f28e106f087c0cd7bc2ccb844bec7099f5d227c2 SHA512 ed4b11cadbd57aa5f531d598e320a6bd54c67a8c713671af12ce62bc02283515ecbbc65ccbe3b0db3bad517cc4e6386cc3565be9eb9b9d06ca2a598428abf557
DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
diff --git a/sys-devel/llvm/llvm-9.0.1_rc1.ebuild b/sys-devel/llvm/llvm-9.0.1_rc1.ebuild
deleted file mode 100644
index 2f2597f5b16..00000000000
--- a/sys-devel/llvm/llvm-9.0.1_rc1.ebuild
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-07 9:15 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-07 9:15 UTC (permalink / raw
To: gentoo-commits
commit: 9d77bfe1b51f63fa0d508ea96b01b09029d0df1b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 7 09:11:58 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 7 09:15:47 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d77bfe1
sys-devel/llvm: Remove outdated blocker
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 --
sys-devel/llvm/llvm-6.0.1-r2.ebuild | 2 --
sys-devel/llvm/llvm-6.0.1.ebuild | 2 --
sys-devel/llvm/llvm-7.1.0.ebuild | 2 --
sys-devel/llvm/llvm-8.0.1.ebuild | 2 --
sys-devel/llvm/llvm-9.0.0.ebuild | 2 --
sys-devel/llvm/llvm-9.0.1.9999.ebuild | 2 --
sys-devel/llvm/llvm-9.0.1_rc2.ebuild | 2 --
8 files changed, 16 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index ac0af7a686a..c41b6f527c9 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -49,7 +49,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
@@ -67,7 +66,6 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-6.0.1-r2.ebuild b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
index 01164ba7d20..d3a922a8bc1 100644
--- a/sys-devel/llvm/llvm-6.0.1-r2.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1-r2.ebuild
@@ -50,7 +50,6 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
@@ -63,7 +62,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
index ddb059014c5..3717d1d036f 100644
--- a/sys-devel/llvm/llvm-6.0.1.ebuild
+++ b/sys-devel/llvm/llvm-6.0.1.ebuild
@@ -50,7 +50,6 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
@@ -63,7 +62,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index b6ac1a5fb26..7606df834db 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -51,7 +51,6 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
@@ -64,7 +63,6 @@ DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 9a04aa34bb2..888c0a8beb6 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -52,7 +52,6 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
dev-lang/perl
|| ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
@@ -69,7 +68,6 @@ DEPEND="${RDEPEND}
!doc? ( ${PYTHON_DEPS} )
gold? ( sys-libs/binutils-libs )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
index a01238a0f75..36fe1ebed13 100644
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -48,7 +48,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
@@ -65,7 +64,6 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-9.0.1.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
index 2f2597f5b16..9322ed86fcb 100644
--- a/sys-devel/llvm/llvm-9.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
@@ -46,7 +46,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
@@ -63,7 +62,6 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild b/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
index 2f2597f5b16..9322ed86fcb 100644
--- a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
@@ -46,7 +46,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
@@ -63,7 +62,6 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
- !!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-08 21:20 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-08 21:20 UTC (permalink / raw
To: gentoo-commits
commit: 70b5c52040a408e1126b1230e352a043fb7d8310
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 8 21:01:40 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 8 21:20:15 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70b5c520
sys-devel/llvm: Add KEYWORDS to 9.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1_rc2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild b/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
index 9322ed86fcb..656ecf1927e 100644
--- a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
@@ -25,7 +25,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-14 9:55 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-14 9:55 UTC (permalink / raw
To: gentoo-commits
commit: af264a94149c60785a254d693fa75df7a64eda99
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 08:56:33 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 09:54:56 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af264a94
sys-devel/llvm: Bump to 9.0.1_rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-9.0.1_rc3.ebuild | 279 +++++++++++++++++++++++++++++++++++
2 files changed, 280 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index ac97f87f99b..4bae32dab85 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,3 +5,4 @@ DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c894
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
+DIST llvmorg-9.0.1-rc3.tar.gz 113205740 BLAKE2B 3ca81e812833ecc2ac1bacfdeb86f54609ee125ba7390ce6af0113e949496149102360f35a9a0194dff93fb5cb6ade40a68382a03a7e55771a13198abb7ca9de SHA512 ea56a4ee57aacdd00a1d6551cdc768ecce3124a0eb6a9d09fe060bb147019a5119b2a9eaca576474be42e0296293daa923edd86dadb6759df0c2d7fc7a74f9f1
diff --git a/sys-devel/llvm/llvm-9.0.1_rc3.ebuild b/sys-devel/llvm/llvm-9.0.1_rc3.ebuild
new file mode 100644
index 00000000000..656ecf1927e
--- /dev/null
+++ b/sys-devel/llvm/llvm-9.0.1_rc3.ebuild
@@ -0,0 +1,279 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-18 22:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-18 22:44 UTC (permalink / raw
To: gentoo-commits
commit: 26b34fa987cad2444a9f391c7655b65d4a7a1fd0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 18 19:01:56 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Dec 18 22:44:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26b34fa9
sys-devel/llvm: Update distro components
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index c41b6f527c9..dc2114f9b45 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -262,6 +262,7 @@ get_distribution_components() {
llvm-exegesis
llvm-extract
llvm-ifs
+ llvm-install-name-tool
llvm-jitlink
llvm-lib
llvm-link
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-21 8:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-21 8:30 UTC (permalink / raw
To: gentoo-commits
commit: 1c00443e329ca1c9f3994be4b0764b14ddf983ff
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 08:10:15 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 08:30:02 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c00443e
sys-devel/llvm: Support pregenerated manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 656ecf1927e..938ddb97448 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -7,8 +7,12 @@ PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
+# no changes in 9.0.1
+MANPAGE_P=llvm-9.0.0-manpages
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
+SRC_URI="
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
@@ -80,6 +84,16 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
+src_unpack() {
+ llvm.org_src_unpack
+
+ if ! use doc; then
+ ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
+ tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
+ eend
+ fi
+}
+
src_prepare() {
# Fix llvm-config for shared linking and sane flags
# https://bugs.gentoo.org/show_bug.cgi?id=565358
@@ -266,6 +280,13 @@ multilib_src_install_all() {
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
+ fi
+
docompress "/usr/lib/llvm/${SLOT}/share/man"
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-21 8:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-21 8:30 UTC (permalink / raw
To: gentoo-commits
commit: 8ff25a3b4a26b976ca038839ff632a5f8f42b591
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 08:27:03 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 08:30:18 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ff25a3b
sys-devel/llvm: Remove 9.0.1 RCs and live
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-9.0.1.9999.ebuild | 279 ----------------------------------
sys-devel/llvm/llvm-9.0.1_rc2.ebuild | 279 ----------------------------------
sys-devel/llvm/llvm-9.0.1_rc3.ebuild | 279 ----------------------------------
4 files changed, 839 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b3b4ab84e3b..4f88ba9dd88 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,4 @@ DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
-DIST llvmorg-9.0.1-rc2.tar.gz 113203311 BLAKE2B 6e426060853e1587febedb75189444a1451236b713f800a4f3401c54318e48b0f5e0c484e9e4ef261faceed9b43b445a4153b061d4dadcc617047f9320b4f56a SHA512 fececd9365645920b9afdad1e94d5e10553ad4a39d84b3ac811b86014c395d51f7e4dabe54bb095a99481400c408bee3c9a2044168724d5e094e3258587a5d2c
-DIST llvmorg-9.0.1-rc3.tar.gz 113205740 BLAKE2B 3ca81e812833ecc2ac1bacfdeb86f54609ee125ba7390ce6af0113e949496149102360f35a9a0194dff93fb5cb6ade40a68382a03a7e55771a13198abb7ca9de SHA512 ea56a4ee57aacdd00a1d6551cdc768ecce3124a0eb6a9d09fe060bb147019a5119b2a9eaca576474be42e0296293daa923edd86dadb6759df0c2d7fc7a74f9f1
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-9.0.1.9999.ebuild b/sys-devel/llvm/llvm-9.0.1.9999.ebuild
deleted file mode 100644
index 9322ed86fcb..00000000000
--- a/sys-devel/llvm/llvm-9.0.1.9999.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild b/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
deleted file mode 100644
index 656ecf1927e..00000000000
--- a/sys-devel/llvm/llvm-9.0.1_rc2.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-9.0.1_rc3.ebuild b/sys-devel/llvm/llvm-9.0.1_rc3.ebuild
deleted file mode 100644
index 656ecf1927e..00000000000
--- a/sys-devel/llvm/llvm-9.0.1_rc3.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2019-12-22 8:28 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2019-12-22 8:28 UTC (permalink / raw
To: gentoo-commits
commit: b494d15895cfa9548c8ca10de1dec3988bedd275
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 08:10:20 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 08:16:38 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b494d158
sys-devel/llvm: [QA] Fix missing eend arg
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
index 36fe1ebed13..cffe2425c4f 100644
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ b/sys-devel/llvm/llvm-9.0.0.ebuild
@@ -88,7 +88,7 @@ src_unpack() {
if ! use doc; then
ebegin "Unpacking llvm-${PV}-manpages.tar.bz2"
tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
- eend
+ eend ${?}
fi
}
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 938ddb97448..ec830eb72e3 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -90,7 +90,7 @@ src_unpack() {
if ! use doc; then
ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
- eend
+ eend ${?}
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-06 14:04 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-01-06 14:04 UTC (permalink / raw
To: gentoo-commits
commit: c02c9e7acd0d5738cd6d85e58a2e7cddcb4abd7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 6 13:47:50 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 6 14:04:21 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c02c9e7a
sys-devel/llvm: Remove 9.0.0*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-9.0.0.ebuild | 298 ---------------------------------------
2 files changed, 299 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4f88ba9dd88..4142812bd9d 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,5 +3,4 @@ DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5cced
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
-DIST llvm-9.0.0.src.tar.xz 32994768 BLAKE2B 7f09bff9bcada95ab9c920c78aef92b57e665d9188bab39c734084ceb03a801c942fed48ea77fabeeb6110c648cb69363c659a6ce93ebf67dbba5c187219b13b SHA512 1bb3341e1d231559b948f1505b33c2e2e03989f9b8bbfef0e0cdaff5ac43f85574c9ec5ac53399b914f497d6899425d861411024e8d7e1d1a338c1c6951ac658
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-9.0.0.ebuild b/sys-devel/llvm/llvm-9.0.0.ebuild
deleted file mode 100644
index 0edacf1f63d..00000000000
--- a/sys-devel/llvm/llvm-9.0.0.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- if ! use doc; then
- ebegin "Unpacking llvm-${PV}-manpages.tar.bz2"
- tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-18 17:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-01-18 17:18 UTC (permalink / raw
To: gentoo-commits
commit: b193edeff393b524f3fd4747abe86a7cf5ea2cac
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 18 16:40:40 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 18 17:18:28 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b193edef
sys-devel/llvm: Include 11.* ebuilds for master
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 503 +++++++++++++++++++++++++++++++++
1 file changed, 503 insertions(+)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
new file mode 100644
index 00000000000..db347b40d25
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "10llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-23 10:19 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-01-23 10:19 UTC (permalink / raw
To: gentoo-commits
commit: 7022f000dcabcefa153f088afbced963a75bfb00
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 23 10:17:46 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 10:19:51 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7022f000
sys-devel/llvm: amd64 stable wrt bug #705530
Package-Manager: Portage-2.3.79, Repoman-2.3.16
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index d8c55d8f41b..8f62f64de08 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-23 10:24 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-01-23 10:24 UTC (permalink / raw
To: gentoo-commits
commit: 6612c7cf50bcbe2dfba6fa69b2b1bed6341a753d
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 23 10:23:01 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 10:23:01 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6612c7cf
sys-devel/llvm: x86 stable wrt bug #705530
Package-Manager: Portage-2.3.79, Repoman-2.3.16
RepoMan-Options: --include-arches="x86"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 8f62f64de08..84aa68ab5c2 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-23 13:32 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2020-01-23 13:32 UTC (permalink / raw
To: gentoo-commits
commit: aaf692ace0623364838b5ff46ae5e1d1f7809f61
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 23 13:32:33 2020 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 13:32:33 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aaf692ac
sys-devel/llvm: ppc64 stable wrt bug #705530
Package-Manager: Portage-2.3.79, Repoman-2.3.16
RepoMan-Options: --include-arches="ppc64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 84aa68ab5c2..a4b7a05c754 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-27 12:20 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-01-27 12:20 UTC (permalink / raw
To: gentoo-commits
commit: 25c5405564853a5b1cbde47cfe662622510b6890
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 27 12:19:35 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Jan 27 12:20:17 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25c54055
sys-devel/llvm: arm stable wrt bug #705530
Package-Manager: Portage-2.3.84, Repoman-2.3.20
RepoMan-Options: --include-arches="arm"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index a4b7a05c754..aac84598b57 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-27 13:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-01-27 13:10 UTC (permalink / raw
To: gentoo-commits
commit: 0b09efa7415e6b5666c75fcd536f570731abb550
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 27 13:10:04 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 27 13:10:04 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b09efa7
sys-devel/llvm: Move env.d after baselayout
Closes: https://bugs.gentoo.org/706174
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index db347b40d25..03b29e2bec5 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -482,7 +482,7 @@ multilib_src_install() {
multilib_src_install_all() {
local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
+ newenvd - "60llvm-${revord}" <<-_EOF_
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index db347b40d25..03b29e2bec5 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -482,7 +482,7 @@ multilib_src_install() {
multilib_src_install_all() {
local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
+ newenvd - "60llvm-${revord}" <<-_EOF_
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 7606df834db..1ce1fcf6eef 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -234,7 +234,7 @@ multilib_src_install() {
multilib_src_install_all() {
local revord=$(( 9999 - ${SLOT%/*} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
+ newenvd - "60llvm-${revord}" <<-_EOF_
PATH="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT%/*}/bin"
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 888c0a8beb6..66d87a60f7f 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -267,7 +267,7 @@ multilib_src_install() {
multilib_src_install_all() {
local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
+ newenvd - "60llvm-${revord}" <<-_EOF_
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index aac84598b57..846bf17d975 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -272,7 +272,7 @@ multilib_src_install() {
multilib_src_install_all() {
local revord=$(( 9999 - ${SLOT} ))
- newenvd - "10llvm-${revord}" <<-_EOF_
+ newenvd - "60llvm-${revord}" <<-_EOF_
PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-30 20:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-01-30 20:51 UTC (permalink / raw
To: gentoo-commits
commit: 4039316f4dabb2e596f39aa959a5961d21feebe6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 30 20:42:23 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 30 20:51:15 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4039316f
sys-devel/llvm: Bump to 10.0.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.0_rc1.ebuild | 503 ++++++++++++++++++++++++++++++++++
2 files changed, 504 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4142812bd9d..dd342438fe3 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,4 +3,5 @@ DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5cced
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
+DIST llvmorg-10.0.0-rc1.tar.gz 120755822 BLAKE2B a729d37d96ba498cb865c6f708734dccb796b2caabb69167b9aa3b0e12c788f2a5980a048b99d5603da3d26af909fb31f406b4f4743cabae56c45f829a7bf695 SHA512 27137fc700971147c00ded6787eaae9f0bcf98c938fe227a5a559b38d983736f3d086f4ff6772d802c5f48a7d97a97c293261e4af88fcb5a720693b9cb5a4f02
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
new file mode 100644
index 00000000000..03b29e2bec5
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DWITH_POLLY=OFF # TODO
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-01-31 15:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-01-31 15:27 UTC (permalink / raw
To: gentoo-commits
commit: 644db0c313105ace2a7f7aa950feb0fda8c2a4ff
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 31 14:24:56 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 31 15:27:33 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=644db0c3
sys-devel/llvm: Add VE target
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc1.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 03b29e2bec5..66f38cdf8f9 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -13,7 +13,7 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
diff --git a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
index 03b29e2bec5..66f38cdf8f9 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
@@ -13,7 +13,7 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 03b29e2bec5..66f38cdf8f9 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -13,7 +13,7 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-10 13:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-10 13:26 UTC (permalink / raw
To: gentoo-commits
commit: 5db620698250d71eec1afdc45ee3fa1ac4febb54
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 10 13:06:06 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Feb 10 13:26:37 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5db62069
sys-devel/llvm: Remove py2 where possible
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc1.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 66f38cdf8f9..0382dba1d35 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
index 66f38cdf8f9..0382dba1d35 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 66f38cdf8f9..0382dba1d35 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 846bf17d975..9bfbe3774a6 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-14 7:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-14 7:51 UTC (permalink / raw
To: gentoo-commits
commit: 800b2572f181fd5ab3d8b5504a60938c00403c0f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 05:46:52 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 07:50:57 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=800b2572
sys-devel/llvm: Enable py3.8
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 0382dba1d35..f79ef173702 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
index 0382dba1d35..f79ef173702 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 0382dba1d35..f79ef173702 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-utils llvm.org multilib-minimal multiprocessing \
pax-utils python-any-r1 toolchain-funcs
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-14 7:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-14 7:51 UTC (permalink / raw
To: gentoo-commits
commit: 27c81bd54d4966bb4b15792a3ddc725521b0978d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 06:28:20 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 07:51:16 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27c81bd5
sys-devel/llvm: Remove broken VE target from 10.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 37 +----------------------------------
1 file changed, 1 insertion(+), 36 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
index 390a59d0ac4..02213e0d5f9 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
@@ -13,7 +13,7 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
@@ -84,38 +84,6 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
check_distribution_components() {
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
local all_targets=() my_targets=() l
@@ -185,9 +153,6 @@ src_prepare() {
# User patches + QA
cmake-utils_src_prepare
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
}
# Is LLVM being linked against libc++?
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-14 7:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-14 7:51 UTC (permalink / raw
To: gentoo-commits
commit: 0dd91d91d484b2db0c97aa7896031b408470cd3f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 05:55:04 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 07:51:12 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd91d91
sys-devel/llvm: Remove unused WITH_POLLY
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 --
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 2 --
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 --
3 files changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index f79ef173702..390a59d0ac4 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -355,8 +355,6 @@ multilib_src_configure() {
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DWITH_POLLY=OFF # TODO
-
-DLLVM_HOST_TRIPLE="${CHOST}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
index f79ef173702..390a59d0ac4 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
@@ -355,8 +355,6 @@ multilib_src_configure() {
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DWITH_POLLY=OFF # TODO
-
-DLLVM_HOST_TRIPLE="${CHOST}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index f79ef173702..390a59d0ac4 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -355,8 +355,6 @@ multilib_src_configure() {
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DWITH_POLLY=OFF # TODO
-
-DLLVM_HOST_TRIPLE="${CHOST}"
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-14 7:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-14 7:51 UTC (permalink / raw
To: gentoo-commits
commit: fd311fca9c34fc1e54a9b76995b108972168c995
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 06:33:33 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 07:51:19 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd311fca
sys-devel/llvm: Remove obsolete deps from 10+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 3 ---
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 3 ---
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 3 ---
3 files changed, 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 390a59d0ac4..6f27f373218 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -54,9 +54,6 @@ DEPEND="${RDEPEND}
BDEPEND="
dev-lang/perl
sys-devel/gnuconfig
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
index 02213e0d5f9..6c36096f80a 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
@@ -54,9 +54,6 @@ DEPEND="${RDEPEND}
BDEPEND="
dev-lang/perl
sys-devel/gnuconfig
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 390a59d0ac4..6f27f373218 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -54,9 +54,6 @@ DEPEND="${RDEPEND}
BDEPEND="
dev-lang/perl
sys-devel/gnuconfig
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-02-14 12:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-02-14 12:40 UTC (permalink / raw
To: gentoo-commits
commit: 3cd6c457a03583d9ac6105eb835cbd639062d1a4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 12:07:50 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 12:40:54 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cd6c457
sys-devel/llvm: Enable llvm-ml in 11.0.0.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 6f27f373218..846d36f1235 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -268,6 +268,7 @@ get_distribution_components() {
llvm-lto2
llvm-mc
llvm-mca
+ llvm-ml
llvm-modextract
llvm-mt
llvm-nm
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-04 16:24 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-04 16:24 UTC (permalink / raw
To: gentoo-commits
commit: c490fa68282145a3a9356869faa2932e22635a5b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 4 13:56:38 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 4 16:24:42 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c490fa68
sys-devel/llvm: Bump to 10.0.0rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.0_rc3.ebuild | 463 ++++++++++++++++++++++++++++++++++
2 files changed, 464 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index e4ce5d50150..6bbd3e7cf7e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,4 +5,5 @@ DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c894
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0-rc1.tar.gz 120755822 BLAKE2B a729d37d96ba498cb865c6f708734dccb796b2caabb69167b9aa3b0e12c788f2a5980a048b99d5603da3d26af909fb31f406b4f4743cabae56c45f829a7bf695 SHA512 27137fc700971147c00ded6787eaae9f0bcf98c938fe227a5a559b38d983736f3d086f4ff6772d802c5f48a7d97a97c293261e4af88fcb5a720693b9cb5a4f02
DIST llvmorg-10.0.0-rc2.tar.gz 120795019 BLAKE2B 6e701eddbd2313e777c7b37dff8455a08d3c599d01055b60afc0319373d4709deb429aac6bf9e80c4d2e2ab8ade03bf5b398b6ccd8882e4bde608d10cdbf2284 SHA512 ee571c9258a2d9fc411964f56b0b92b2e7134349ed21dbe7963eb61ef65da506e0c4f7c69259a3b6cecec23f55d24636608287ee4457ee667031e141f8f09aae
+DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
new file mode 100644
index 00000000000..6c36096f80a
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
@@ -0,0 +1,463 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-04 16:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-04 16:25 UTC (permalink / raw
To: gentoo-commits
commit: f1b69b4867b6fd4e85cb70e08bbfc75d3dbe4920
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 4 14:35:29 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 4 16:24:50 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1b69b48
sys-devel/llvm: Update dev-libs/libffi dep
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc1.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 2 +-
sys-devel/llvm/llvm-10.0.0_rc3.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-7.1.0.ebuild | 2 +-
sys-devel/llvm/llvm-8.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.9999.ebuild b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
index 6f27f373218..f308f41ee44 100644
--- a/sys-devel/llvm/llvm-10.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.9999.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
index 0382dba1d35..14183742d8b 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
index 6c36096f80a..59ccce09861 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
index 6c36096f80a..59ccce09861 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 846d36f1235..a2a27ccccee 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-7.1.0.ebuild b/sys-devel/llvm/llvm-7.1.0.ebuild
index 7b91b533264..6eec79c23a8 100644
--- a/sys-devel/llvm/llvm-7.1.0.ebuild
+++ b/sys-devel/llvm/llvm-7.1.0.ebuild
@@ -47,7 +47,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index f6a3fff2e65..9b844de0c50 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -48,7 +48,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 9bfbe3774a6..33ff596a3c4 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -45,7 +45,7 @@ RDEPEND="
)
)
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-04 18:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-04 18:39 UTC (permalink / raw
To: gentoo-commits
commit: ca03bf39b575ae8b3ddcfc4be78f902e88cc6fcf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 4 18:07:36 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 4 18:38:41 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca03bf39
sys-devel/llvm: Keyword 10.0.0rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0_rc3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
index 59ccce09861..904db49c705 100644
--- a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-04 18:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-04 18:39 UTC (permalink / raw
To: gentoo-commits
commit: 1a3c164830c624ef5362b89d43d7d6632728dd92
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 4 18:12:46 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 4 18:38:57 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a3c1648
sys-devel/llvm: Remove 10.0.0rc[12]
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-10.0.0_rc1.ebuild | 503 ----------------------------------
sys-devel/llvm/llvm-10.0.0_rc2.ebuild | 463 -------------------------------
3 files changed, 968 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 6bbd3e7cf7e..0f50709a6e1 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,7 +3,5 @@ DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5cced
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
-DIST llvmorg-10.0.0-rc1.tar.gz 120755822 BLAKE2B a729d37d96ba498cb865c6f708734dccb796b2caabb69167b9aa3b0e12c788f2a5980a048b99d5603da3d26af909fb31f406b4f4743cabae56c45f829a7bf695 SHA512 27137fc700971147c00ded6787eaae9f0bcf98c938fe227a5a559b38d983736f3d086f4ff6772d802c5f48a7d97a97c293261e4af88fcb5a720693b9cb5a4f02
-DIST llvmorg-10.0.0-rc2.tar.gz 120795019 BLAKE2B 6e701eddbd2313e777c7b37dff8455a08d3c599d01055b60afc0319373d4709deb429aac6bf9e80c4d2e2ab8ade03bf5b398b6ccd8882e4bde608d10cdbf2284 SHA512 ee571c9258a2d9fc411964f56b0b92b2e7134349ed21dbe7963eb61ef65da506e0c4f7c69259a3b6cecec23f55d24636608287ee4457ee667031e141f8f09aae
DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild b/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
deleted file mode 100644
index 14183742d8b..00000000000
--- a/sys-devel/llvm/llvm-10.0.0_rc1.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild b/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
deleted file mode 100644
index 59ccce09861..00000000000
--- a/sys-devel/llvm/llvm-10.0.0_rc2.ebuild
+++ /dev/null
@@ -1,463 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-09 18:30 Mart Raudsepp
0 siblings, 0 replies; 860+ messages in thread
From: Mart Raudsepp @ 2020-03-09 18:30 UTC (permalink / raw
To: gentoo-commits
commit: 268626429dda235c02dc5e7f304b6e354f8e27f6
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 9 18:25:34 2020 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon Mar 9 18:30:01 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26862642
sys-devel/llvm: arm64 stable (bug #705530)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
sys-devel/llvm/llvm-9.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 33ff596a3c4..970b4af0dc1 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-16 7:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-16 7:06 UTC (permalink / raw
To: gentoo-commits
commit: e12540c75f288257b4d0688ea5b91673ece5db19
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 16 06:40:38 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 16 07:06:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e12540c7
sys-devel/llvm: Bump to 10.0.0rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.0_rc4.ebuild | 463 ++++++++++++++++++++++++++++++++++
2 files changed, 464 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0f50709a6e1..ef6c79a88cf 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,4 +4,5 @@ DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
+DIST llvmorg-10.0.0-rc4.tar.gz 120816191 BLAKE2B 66c497fa682b9bcbdef3776f540e6b2781286df3405b00ab335aa405a19418d9c4571b301a6814b526e363bb9c0b7c0be0dfc85444fb9d636ecf11ee788b2cdd SHA512 b3df32cafbbe9147c7b5cfbfe96c7231dc2e66d32560c6d0bcda90d6863b37bf8c9cb3f080fb459acd1d56c013149b275d0ce58f1678205f8ca737f1c8d034cd
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc4.ebuild b/sys-devel/llvm/llvm-10.0.0_rc4.ebuild
new file mode 100644
index 00000000000..904db49c705
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0_rc4.ebuild
@@ -0,0 +1,463 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-23 20:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-23 20:35 UTC (permalink / raw
To: gentoo-commits
commit: a9a1af3feb39ccd355111c73925cae198b679d1e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 20:31:08 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 23 20:34:44 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9a1af3f
sys-devel/llvm: Bump to 10.0.0rc6
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.0_rc6.ebuild | 463 ++++++++++++++++++++++++++++++++++
2 files changed, 464 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index ef6c79a88cf..9c917d3cc16 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,4 +5,5 @@ DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c894
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
DIST llvmorg-10.0.0-rc4.tar.gz 120816191 BLAKE2B 66c497fa682b9bcbdef3776f540e6b2781286df3405b00ab335aa405a19418d9c4571b301a6814b526e363bb9c0b7c0be0dfc85444fb9d636ecf11ee788b2cdd SHA512 b3df32cafbbe9147c7b5cfbfe96c7231dc2e66d32560c6d0bcda90d6863b37bf8c9cb3f080fb459acd1d56c013149b275d0ce58f1678205f8ca737f1c8d034cd
+DIST llvmorg-10.0.0-rc6.tar.gz 120815075 BLAKE2B 3c5eb3594d30f1d6c4e2fec916a209030c7e3d8ebcf0f7ceb376adc78cd8a5bdf94a7c85d821bd5ea65631cf0a2438c538019fe1d58d1f835f3b9a899207d0c4 SHA512 04d8df9cd14f78fc5f80885f5d2e8fe4a1f66a218079c2574f6f3f8f3a86c2a886763da08a9454465615d89da300022e9e0754ecd4b40e25fedc600c2e66f39b
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc6.ebuild b/sys-devel/llvm/llvm-10.0.0_rc6.ebuild
new file mode 100644
index 00000000000..59ccce09861
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0_rc6.ebuild
@@ -0,0 +1,463 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-24 21:46 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-24 21:46 UTC (permalink / raw
To: gentoo-commits
commit: 2460302f07a3e3b6d5746692caf34ef9c08def13
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 24 20:42:02 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 24 21:46:12 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2460302f
sys-devel/llvm: Bump to 10.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-10.0.0.ebuild | 425 ++++++++++++++++++++++++++++++++++++++
2 files changed, 427 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 9c917d3cc16..92be6d98cd5 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
DIST llvm-7.1.0-manpages.tar.bz2 120786 BLAKE2B b52a7afe7c5c170894e910ef2c651a5f38f0bd41147a2c63dc5b8a92f0ec37512e913e68efce51e1643e8f20cf0f3f088d31d19c541d2ff361ecb7d89b234b6c SHA512 78a526d889a8e62accf422655acbb4d17e3c22b0f0830003db0068b3c01c367ac32ce4f4be4cbb2966274440865557c25795205af2a59a054a6f6964294d289f
DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
@@ -6,4 +7,5 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
DIST llvmorg-10.0.0-rc4.tar.gz 120816191 BLAKE2B 66c497fa682b9bcbdef3776f540e6b2781286df3405b00ab335aa405a19418d9c4571b301a6814b526e363bb9c0b7c0be0dfc85444fb9d636ecf11ee788b2cdd SHA512 b3df32cafbbe9147c7b5cfbfe96c7231dc2e66d32560c6d0bcda90d6863b37bf8c9cb3f080fb459acd1d56c013149b275d0ce58f1678205f8ca737f1c8d034cd
DIST llvmorg-10.0.0-rc6.tar.gz 120815075 BLAKE2B 3c5eb3594d30f1d6c4e2fec916a209030c7e3d8ebcf0f7ceb376adc78cd8a5bdf94a7c85d821bd5ea65631cf0a2438c538019fe1d58d1f835f3b9a899207d0c4 SHA512 04d8df9cd14f78fc5f80885f5d2e8fe4a1f66a218079c2574f6f3f8f3a86c2a886763da08a9454465615d89da300022e9e0754ecd4b40e25fedc600c2e66f39b
+DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
new file mode 100644
index 00000000000..c36aefaa55f
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -0,0 +1,425 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+MANPAGE_P=llvm-10.0.0-manpages
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_unpack() {
+ llvm.org_src_unpack
+
+ if ! use doc; then
+ ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
+ tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
+ eend ${?}
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-03-25 17:59 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-03-25 17:59 UTC (permalink / raw
To: gentoo-commits
commit: 65a625a9f9e698325111f3f578c8bfb508b48b28
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 25 17:47:13 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 25 17:58:35 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65a625a9
sys-devel/llvm: Remove 10.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-10.0.0_rc3.ebuild | 463 ----------------------------------
sys-devel/llvm/llvm-10.0.0_rc4.ebuild | 463 ----------------------------------
sys-devel/llvm/llvm-10.0.0_rc6.ebuild | 463 ----------------------------------
4 files changed, 1392 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 92be6d98cd5..de4025d4719 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,8 +4,5 @@ DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5cced
DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
-DIST llvmorg-10.0.0-rc3.tar.gz 120814170 BLAKE2B 432fe0c1e74d3020a269a256e6e456cbfa0b7166dd3f86df6caf3a55e1931c022285fe8afdc4d8998c729c5471acf5308abb336782ddec2ef9b0f58d1ccb5a3c SHA512 aad1df86063612d20c48ea7046940330fe2ac572a146be22ff71d9e65fa3438184cb39a2533fc6afd1e74df26909a9f0d24ebcd7d62e74728cfd81e447f2ffbf
-DIST llvmorg-10.0.0-rc4.tar.gz 120816191 BLAKE2B 66c497fa682b9bcbdef3776f540e6b2781286df3405b00ab335aa405a19418d9c4571b301a6814b526e363bb9c0b7c0be0dfc85444fb9d636ecf11ee788b2cdd SHA512 b3df32cafbbe9147c7b5cfbfe96c7231dc2e66d32560c6d0bcda90d6863b37bf8c9cb3f080fb459acd1d56c013149b275d0ce58f1678205f8ca737f1c8d034cd
-DIST llvmorg-10.0.0-rc6.tar.gz 120815075 BLAKE2B 3c5eb3594d30f1d6c4e2fec916a209030c7e3d8ebcf0f7ceb376adc78cd8a5bdf94a7c85d821bd5ea65631cf0a2438c538019fe1d58d1f835f3b9a899207d0c4 SHA512 04d8df9cd14f78fc5f80885f5d2e8fe4a1f66a218079c2574f6f3f8f3a86c2a886763da08a9454465615d89da300022e9e0754ecd4b40e25fedc600c2e66f39b
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild b/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
deleted file mode 100644
index 904db49c705..00000000000
--- a/sys-devel/llvm/llvm-10.0.0_rc3.ebuild
+++ /dev/null
@@ -1,463 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-10.0.0_rc4.ebuild b/sys-devel/llvm/llvm-10.0.0_rc4.ebuild
deleted file mode 100644
index 904db49c705..00000000000
--- a/sys-devel/llvm/llvm-10.0.0_rc4.ebuild
+++ /dev/null
@@ -1,463 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-10.0.0_rc6.ebuild b/sys-devel/llvm/llvm-10.0.0_rc6.ebuild
deleted file mode 100644
index 59ccce09861..00000000000
--- a/sys-devel/llvm/llvm-10.0.0_rc6.ebuild
+++ /dev/null
@@ -1,463 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-04-29 6:24 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-04-29 6:24 UTC (permalink / raw
To: gentoo-commits
commit: 3a223fd0b852676512b82484ae6c75fd5b790ade
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 29 06:02:16 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 29 06:24:39 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a223fd0
sys-devel/llvm: AVR is now mainline target
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index a2a27ccccee..bca86e6ede8 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -13,9 +13,9 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-04-29 8:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-04-29 8:03 UTC (permalink / raw
To: gentoo-commits
commit: a57f75b310d0a5a37191d9040398f9066703c270
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 29 08:00:53 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 29 08:03:54 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a57f75b3
sys-devel/llvm: Update distribution targets
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index bca86e6ede8..f6ed4b7a9be 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -258,6 +258,7 @@ get_distribution_components() {
llvm-elfabi
llvm-exegesis
llvm-extract
+ llvm-gsymutil
llvm-ifs
llvm-install-name-tool
llvm-jitlink
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-05-06 17:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-05-06 17:25 UTC (permalink / raw
To: gentoo-commits
commit: 974dbc0a8c11475ed9e760f9326583a94433d2fe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 6 16:57:21 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 6 17:25:09 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=974dbc0a
sys-devel/llvm: Remove stale sys-freebsd/ deps
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-8.0.1.ebuild | 3 ---
sys-devel/llvm/llvm-9.0.1.ebuild | 3 ---
2 files changed, 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
index 9b844de0c50..c466aae7139 100644
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ b/sys-devel/llvm/llvm-8.0.1.ebuild
@@ -54,9 +54,6 @@ RDEPEND="
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 970b4af0dc1..2f2553d82fb 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -54,9 +54,6 @@ DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
- )
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-05-20 11:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-05-20 11:22 UTC (permalink / raw
To: gentoo-commits
commit: c2a2dd24ff881f5a8004e88db765e0e2c147275c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 20 09:40:33 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 20 11:22:21 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2a2dd24
sys-devel/llvm: Bump to 10.0.1_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.1_rc1.ebuild | 463 ++++++++++++++++++++++++++++++++++
2 files changed, 464 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1975b92af9f..89ab271e234 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,4 +3,5 @@ DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
+DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
new file mode 100644
index 00000000000..59ccce09861
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
@@ -0,0 +1,463 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-20 10:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-20 10:21 UTC (permalink / raw
To: gentoo-commits
commit: 02a95346c8ec464b36b36db8f04453f17dd51cfa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 20 09:11:52 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 20 10:21:09 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02a95346
sys-devel/llvm: Always build manpages from source
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.9999.ebuild | 36 +++++++++++++++++++++-------------
sys-devel/llvm/llvm-10.0.1_rc1.ebuild | 36 +++++++++++++++++++++-------------
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 36 +++++++++++++++++++++-------------
3 files changed, 66 insertions(+), 42 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.9999.ebuild b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
index ccddd737630..15591957825 100644
--- a/sys-devel/llvm/llvm-10.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
@@ -58,12 +58,11 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -75,9 +74,10 @@ PDEPEND="sys-devel/llvm-common
CMAKE_BUILD_TYPE=RelWithDebInfo
python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -138,6 +138,10 @@ check_distribution_components() {
distribution|llvm-libraries)
continue
;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
esac
all_targets+=( "${l}" )
@@ -184,6 +188,11 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
# User patches + QA
cmake-utils_src_prepare
@@ -303,12 +312,13 @@ get_distribution_components() {
# python modules
opt-viewer
- )
- use doc && out+=(
+ # manpages
docs-dsymutil-man
docs-llvm-dwarfdump-man
docs-llvm-man
+ )
+ use doc && out+=(
docs-llvm-html
)
@@ -390,13 +400,11 @@ multilib_src_configure() {
if multilib_is_native_abi; then
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_BUILD_DOCS=ON
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_SPHINX=ON
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
diff --git a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
index 69e7f467ecd..d60b458d6a0 100644
--- a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
@@ -58,12 +58,11 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -75,9 +74,10 @@ PDEPEND="sys-devel/llvm-common
CMAKE_BUILD_TYPE=RelWithDebInfo
python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -106,6 +106,10 @@ check_distribution_components() {
distribution|llvm-libraries)
continue
;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
esac
all_targets+=( "${l}" )
@@ -152,6 +156,11 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
# User patches + QA
cmake-utils_src_prepare
}
@@ -268,12 +277,13 @@ get_distribution_components() {
# python modules
opt-viewer
- )
- use doc && out+=(
+ # manpages
docs-dsymutil-man
docs-llvm-dwarfdump-man
docs-llvm-man
+ )
+ use doc && out+=(
docs-llvm-html
)
@@ -355,13 +365,11 @@ multilib_src_configure() {
if multilib_is_native_abi; then
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_BUILD_DOCS=ON
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_SPHINX=ON
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index f6ed4b7a9be..bcf802e8847 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -58,12 +58,11 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -75,9 +74,10 @@ PDEPEND="sys-devel/llvm-common
CMAKE_BUILD_TYPE=RelWithDebInfo
python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -138,6 +138,10 @@ check_distribution_components() {
distribution|llvm-libraries)
continue
;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
esac
all_targets+=( "${l}" )
@@ -180,6 +184,11 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
# User patches + QA
cmake-utils_src_prepare
@@ -301,12 +310,13 @@ get_distribution_components() {
# python modules
opt-viewer
- )
- use doc && out+=(
+ # manpages
docs-dsymutil-man
docs-llvm-dwarfdump-man
docs-llvm-man
+ )
+ use doc && out+=(
docs-llvm-html
)
@@ -388,13 +398,11 @@ multilib_src_configure() {
if multilib_is_native_abi; then
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_BUILD_DOCS=ON
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_SPHINX=ON
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-23 18:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-23 18:30 UTC (permalink / raw
To: gentoo-commits
commit: 9609116cc9416ac04adf57a9cf8903ea736c1dbc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 20 21:08:29 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 23 18:30:40 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9609116c
sys-devel/llvm: Dedupe with new eclass code
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.9999.ebuild | 14 ++++----------
sys-devel/llvm/llvm-10.0.1_rc1.ebuild | 14 ++++----------
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 14 ++++----------
3 files changed, 12 insertions(+), 30 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.9999.ebuild b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
index 27af603d49b..6bf2a545f96 100644
--- a/sys-devel/llvm/llvm-10.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
PATCHES=(
# Fix linking to dylib and .a libs simultaneously
"${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
@@ -198,10 +195,7 @@ src_prepare() {
# Verify that the live ebuild is up-to-date
check_live_ebuild
- # cmake eclasses suck by forcing ${S} here
- CMAKE_USE_DIR=${S} \
- S=${WORKDIR} \
- cmake_src_prepare
+ llvm.org_src_prepare
}
# Is LLVM being linked against libc++?
@@ -399,7 +393,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
if multilib_is_native_abi; then
diff --git a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
index 36ee1f6d95d..5ac7c6e2a8c 100644
--- a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
@@ -4,8 +4,8 @@
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
PATCHES=(
# Fix linking to dylib and .a libs simultaneously
"${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
@@ -163,10 +160,7 @@ src_prepare() {
sed -i -e '/source_parsers/d' docs/conf.py || die
fi
- # cmake eclasses suck by forcing ${S} here
- CMAKE_USE_DIR=${S} \
- S=${WORKDIR} \
- cmake_src_prepare
+ llvm.org_src_prepare
}
# Is LLVM being linked against libc++?
@@ -364,7 +358,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
if multilib_is_native_abi; then
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 5af65c0f4a0..e005e516f32 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
python_check_deps() {
if use doc; then
has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
@@ -192,10 +189,7 @@ src_prepare() {
# Verify that the live ebuild is up-to-date
check_live_ebuild
- # cmake eclasses suck by forcing ${S} here
- CMAKE_USE_DIR=${S} \
- S=${WORKDIR} \
- cmake_src_prepare
+ llvm.org_src_prepare
}
# Is LLVM being linked against libc++?
@@ -395,7 +389,7 @@ multilib_src_configure() {
# fi
use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
if multilib_is_native_abi; then
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-29 13:08 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-29 13:08 UTC (permalink / raw
To: gentoo-commits
commit: b59c010db091dd984a509c38a691c1ce96f649b8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 13:04:00 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 13:08:06 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b59c010d
sys-devel/llvm: Fix recommonmark hack for 11+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index e005e516f32..877b10f6388 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -183,7 +183,7 @@ src_prepare() {
# manpages don't use markdown
if ! use doc; then
- sed -i -e '/source_parsers/d' docs/conf.py || die
+ sed -i -e "s:, 'recommonmark'::" docs/conf.py || die
fi
# Verify that the live ebuild is up-to-date
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-29 15:05 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-29 15:05 UTC (permalink / raw
To: gentoo-commits
commit: c854f9dddefb1a826a82b7e23fcba7162ce9d409
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 15:02:36 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 15:04:57 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c854f9dd
sys-devel/llvm: Pass -Wl,--no-keep-memory to linker on x86
Closes: https://bugs.gentoo.org/730050
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 4 ++++
sys-devel/llvm/llvm-10.0.1.9999.ebuild | 4 ++++
sys-devel/llvm/llvm-10.0.1_rc1.ebuild | 4 ++++
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 4 ++++
4 files changed, 16 insertions(+)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index c36aefaa55f..ebb7e7f3f61 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -344,6 +344,10 @@ multilib_src_configure() {
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake-utils_src_configure
diff --git a/sys-devel/llvm/llvm-10.0.1.9999.ebuild b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
index 6bf2a545f96..0cbd220d563 100644
--- a/sys-devel/llvm/llvm-10.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.9999.ebuild
@@ -432,6 +432,10 @@ multilib_src_configure() {
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
diff --git a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
index 5ac7c6e2a8c..bc805c1b4d3 100644
--- a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
@@ -397,6 +397,10 @@ multilib_src_configure() {
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 877b10f6388..087e2736708 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -428,6 +428,10 @@ multilib_src_configure() {
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
fi
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-29 15:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-29 15:53 UTC (permalink / raw
To: gentoo-commits
commit: dc7702b045941e0ea91a0e1af69afff094b2395f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 15:32:45 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 15:52:25 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc7702b0
sys-devel/llvm: Try fixing doc build for 11
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 087e2736708..08addcf459d 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -183,7 +183,9 @@ src_prepare() {
# manpages don't use markdown
if ! use doc; then
- sed -i -e "s:, 'recommonmark'::" docs/conf.py || die
+ sed -e "s:, 'recommonmark'::" \
+ -e '/markdown/d' \
+ -i docs/conf.py || die
fi
# Verify that the live ebuild is up-to-date
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-29 15:56 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-06-29 15:56 UTC (permalink / raw
To: gentoo-commits
commit: c543ec92d6caaa6bdaa22d12b2601a8f26917b78
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 15:54:48 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 15:56:51 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c543ec92
sys-devel/llvm: amd64 stable wrt bug #727762
Package-Manager: Portage-2.3.99, Repoman-2.3.22
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index ebb7e7f3f61..d5dfa7b4da3 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -31,7 +31,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-06-29 18:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-06-29 18:37 UTC (permalink / raw
To: gentoo-commits
commit: b01acc75883bd7b2ccb8a5da71dccf3ec11d95be
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 15:20:45 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 18:37:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b01acc75
sys-devel/llvm: Bump to 10.0.1-rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.1_rc2.ebuild | 477 ++++++++++++++++++++++++++++++++++
2 files changed, 478 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 89ab271e234..9370f9240c7 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,4 +4,5 @@ DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c894
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597
+DIST llvmorg-10.0.1-rc2.tar.gz 120883192 BLAKE2B d48f4ccb33691cd4997576a6d20b298455687515164f7d8dfa11ec32e197b58132c6bd549c1214c3b36982ef85e1018d4101e7afecee8d2ab67ad15d68c681bf SHA512 8e363d379a73e38ef570fb03d8243a21f37a48ef579a0f08118af4dac48060c0dc24e2bd8175f04241fa424e49b6c85723d2d3552bbe30dd165fe5fb43493325
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.1_rc2.ebuild b/sys-devel/llvm/llvm-10.0.1_rc2.ebuild
new file mode 100644
index 00000000000..bc805c1b4d3
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.1_rc2.ebuild
@@ -0,0 +1,477 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+PATCHES=(
+ # Fix linking to dylib and .a libs simultaneously
+ "${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
+ "${FILESDIR}"/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
+)
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-04 17:33 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-04 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 582dc78d14807a04e9d7608b15c5524bb560a2b6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 4 17:10:58 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 4 17:33:51 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=582dc78d
sys-devel/llvm: Update recommonmark sed in 11.0.0.9999
Closes: https://bugs.gentoo.org/730268
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 08addcf459d..e96fd84ac29 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -183,7 +183,7 @@ src_prepare() {
# manpages don't use markdown
if ! use doc; then
- sed -e "s:, 'recommonmark'::" \
+ sed -e '/import sphinx/,/source_parsers/d' \
-e '/markdown/d' \
-i docs/conf.py || die
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-08 8:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-08 8:26 UTC (permalink / raw
To: gentoo-commits
commit: ce5a967a48780ecc5462305a748d4002b54a42e5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 8 06:28:46 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 8 08:25:42 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce5a967a
sys-devel/llvm: Bump to 10.0.1-rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.1_rc4.ebuild | 477 ++++++++++++++++++++++++++++++++++
2 files changed, 478 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 88629bf6e76..2fe74386300 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,4 +6,5 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597
DIST llvmorg-10.0.1-rc2.tar.gz 120883192 BLAKE2B d48f4ccb33691cd4997576a6d20b298455687515164f7d8dfa11ec32e197b58132c6bd549c1214c3b36982ef85e1018d4101e7afecee8d2ab67ad15d68c681bf SHA512 8e363d379a73e38ef570fb03d8243a21f37a48ef579a0f08118af4dac48060c0dc24e2bd8175f04241fa424e49b6c85723d2d3552bbe30dd165fe5fb43493325
DIST llvmorg-10.0.1-rc3.tar.gz 120876192 BLAKE2B c48c7e00b37adaab411a34196b87eb630a997ce56bcc33350a698d6d8e24877844b037735ec44abf80ac4c0a4d5a8682745afce4c44cb806bbe9e2a74d875da1 SHA512 ccb6a5bff336924381def11cdfa9c676351461e293b6250b15c1c6cd7694b99beb3e2f3834e8321a28586da091492cbde689213eb4108c9dbe86724e1ee66949
+DIST llvmorg-10.0.1-rc4.tar.gz 120873659 BLAKE2B 2413fb8af98384e608fab83b91fa826ffe2a7cdeb052eb6a50f253f9fe46ee71c040f210bb2f395d73b0a2772854ccafe2ac2cf1cc7c8405bc988183fa732aea SHA512 8b3f0b794c98956238e5d3d195e3a9cb9c9a40f78e2ed72c767fbeac3e1dbae58cb8132db7d2c8caa891a4d0bf631e2a9afc67f3c37707e9e6b94e2f9aeb77b8
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.1_rc4.ebuild b/sys-devel/llvm/llvm-10.0.1_rc4.ebuild
new file mode 100644
index 00000000000..bc805c1b4d3
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.1_rc4.ebuild
@@ -0,0 +1,477 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+PATCHES=(
+ # Fix linking to dylib and .a libs simultaneously
+ "${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
+ "${FILESDIR}"/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
+)
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-08 16:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-08 16:49 UTC (permalink / raw
To: gentoo-commits
commit: 454e8ba1bafafedc326b2cd8ac1c6110a0803df7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 8 16:48:52 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 8 16:49:19 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=454e8ba1
sys-devel/llvm: Remove obsolete sed from 11*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 7 -------
1 file changed, 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index e96fd84ac29..d0bcbd3665f 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -181,13 +181,6 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # manpages don't use markdown
- if ! use doc; then
- sed -e '/import sphinx/,/source_parsers/d' \
- -e '/markdown/d' \
- -i docs/conf.py || die
- fi
-
# Verify that the live ebuild is up-to-date
check_live_ebuild
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-15 18:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-15 18:41 UTC (permalink / raw
To: gentoo-commits
commit: 036089432bafa0939151f39f170527f52579481b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 15 18:36:15 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 15 18:41:31 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03608943
sys-devel/llvm: Add 12.0.0.9999 for master branch
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 503 +++++++++++++++++++++++++++++++++
1 file changed, 503 insertions(+)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
new file mode 100644
index 00000000000..d0bcbd3665f
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-16 18:33 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-07-16 18:33 UTC (permalink / raw
To: gentoo-commits
commit: 576fea96bfb5e6b6e548456551ecaf5d60ec5d14
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 16 18:28:38 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 16 18:33:19 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=576fea96
sys-devel/llvm: ppc64 stable (bug #727762)
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index 9c41909ee8f..cac329d5ba7 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -31,7 +31,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-18 14:44 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-07-18 14:44 UTC (permalink / raw
To: gentoo-commits
commit: 37290d7fce11715a60e7b6e61d905c023a4d5353
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 18 14:35:13 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul 18 14:35:13 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37290d7f
sys-devel/llvm: arm stable (bug #727762)
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index cac329d5ba7..652d6b34d23 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -31,7 +31,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-21 19:31 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-21 19:31 UTC (permalink / raw
To: gentoo-commits
commit: 27c2ab5795a236b2c35745042d79f040237928b4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 21 15:45:52 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 21 19:31:13 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27c2ab57
sys-devel/llvm: Bump to 10.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-10.0.1.ebuild | 477 ++++++++++++++++++++++++++++++++++++++
2 files changed, 478 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 2fe74386300..4d7df86b34d 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,4 +7,5 @@ DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff
DIST llvmorg-10.0.1-rc2.tar.gz 120883192 BLAKE2B d48f4ccb33691cd4997576a6d20b298455687515164f7d8dfa11ec32e197b58132c6bd549c1214c3b36982ef85e1018d4101e7afecee8d2ab67ad15d68c681bf SHA512 8e363d379a73e38ef570fb03d8243a21f37a48ef579a0f08118af4dac48060c0dc24e2bd8175f04241fa424e49b6c85723d2d3552bbe30dd165fe5fb43493325
DIST llvmorg-10.0.1-rc3.tar.gz 120876192 BLAKE2B c48c7e00b37adaab411a34196b87eb630a997ce56bcc33350a698d6d8e24877844b037735ec44abf80ac4c0a4d5a8682745afce4c44cb806bbe9e2a74d875da1 SHA512 ccb6a5bff336924381def11cdfa9c676351461e293b6250b15c1c6cd7694b99beb3e2f3834e8321a28586da091492cbde689213eb4108c9dbe86724e1ee66949
DIST llvmorg-10.0.1-rc4.tar.gz 120873659 BLAKE2B 2413fb8af98384e608fab83b91fa826ffe2a7cdeb052eb6a50f253f9fe46ee71c040f210bb2f395d73b0a2772854ccafe2ac2cf1cc7c8405bc988183fa732aea SHA512 8b3f0b794c98956238e5d3d195e3a9cb9c9a40f78e2ed72c767fbeac3e1dbae58cb8132db7d2c8caa891a4d0bf631e2a9afc67f3c37707e9e6b94e2f9aeb77b8
+DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
new file mode 100644
index 00000000000..2bdf59ccedd
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -0,0 +1,477 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+PATCHES=(
+ # Fix linking to dylib and .a libs simultaneously
+ "${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
+ "${FILESDIR}"/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
+)
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # manpages don't use markdown
+ if ! use doc; then
+ sed -i -e '/source_parsers/d' docs/conf.py || die
+ fi
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-23 10:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-23 10:00 UTC (permalink / raw
To: gentoo-commits
commit: 79e35e6dd5867e42d2ca0705794fff65d8745ec7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 23 06:35:59 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 23 10:00:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79e35e6d
sys-devel/llvm: Build only distribution targets in src_compile()
Build only distribution targets rather than everything. Most
importantly, this fixes the build failure due to trying to build HTML
docs when sphinx is available but recommonmark is not. As a side
result, this may prevent some unnecessary targets from being built
and delay some others into src_test().
Closes: https://bugs.gentoo.org/730268
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index d0bcbd3665f..6ee898821d6 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -435,7 +435,7 @@ multilib_src_configure() {
}
multilib_src_compile() {
- cmake_src_compile
+ cmake_build distribution
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
pax-mark m "${BUILD_DIR}"/bin/lli
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index d0bcbd3665f..6ee898821d6 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -435,7 +435,7 @@ multilib_src_configure() {
}
multilib_src_compile() {
- cmake_src_compile
+ cmake_build distribution
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
pax-mark m "${BUILD_DIR}"/bin/lli
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-23 20:56 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-23 20:56 UTC (permalink / raw
To: gentoo-commits
commit: 9ff63d62f8325fa7b52e346e222410b1ecc5a800
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 23 20:54:08 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 23 20:55:57 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ff63d62
sys-devel/llvm: Update dist targets in 12*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index 6ee898821d6..9f6248bfa03 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -263,6 +263,7 @@ get_distribution_components() {
llvm-install-name-tool
llvm-jitlink
llvm-lib
+ llvm-libtool-darwin
llvm-link
llvm-lipo
llvm-lto
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-30 22:11 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-07-30 22:11 UTC (permalink / raw
To: gentoo-commits
commit: 51c1c4a705f13cb1d3ca8eeeb9db0756c4e5d499
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 29 11:48:46 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 30 22:10:08 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51c1c4a7
sys-devel/llvm: Remove 8*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-8.0.1.ebuild | 292 ---------------------------------------
2 files changed, 294 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a4f3b2fb7f7..d100aed5034 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,4 @@
DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
-DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
-DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
diff --git a/sys-devel/llvm/llvm-8.0.1.ebuild b/sys-devel/llvm/llvm-8.0.1.ebuild
deleted file mode 100644
index c466aae7139..00000000000
--- a/sys-devel/llvm/llvm-8.0.1.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
- multiprocessing pax-utils python-any-r1 toolchain-funcs
-
-MY_P=${P}.src
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. ARM backend: LLVM Software Grant by ARM.
-# 3. MD5 code: public-domain.
-# 4. Tests (not installed):
-# a. gtest: BSD.
-# b. YAML tests: MIT.
-
-LICENSE="UoI-NCSA rc BSD public-domain
- llvm_targets_ARM? ( LLVM-Grant )"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- dev-lang/perl
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- !doc? ( ${PYTHON_DEPS} )
- gold? ( sys-libs/binutils-libs )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED%/}"/usr/include || die
- mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${P}-manpages/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python 2.7 along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-07-31 22:15 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-07-31 22:15 UTC (permalink / raw
To: gentoo-commits
commit: 4cce5278e6f8120bb1ebc08460d6ae78ae2c16f1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 31 22:09:52 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 31 22:15:03 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cce5278
sys-devel/llvm: x86 stable (bug #727762)
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index 652d6b34d23..5abee337a22 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -31,7 +31,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-08-21 19:39 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-08-21 19:39 UTC (permalink / raw
To: gentoo-commits
commit: 78ee0823aa540a82669d039afe51cfb15f675b7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 21 13:46:50 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 21 19:39:38 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78ee0823
sys-devel/llvm: Bump to 11.0.0rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.0_rc2.ebuild | 503 ++++++++++++++++++++++++++++++++++
2 files changed, 504 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index d100aed5034..bb3006e0716 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,4 +3,5 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc1.tar.gz 122688246 BLAKE2B 10ff3f08ff3780abb1d86ac67942e6aac52ff5daf820a2e3d23d8b79dbade1c5b1d398d0a577028d2d7c8759ab9a8b552a0305b5750310a015585c06cdadf844 SHA512 09564ed903902a5795fffaa4679badc30bf49739889a48074b5ae2c93bd29000cfb36a650208d5cae5d74899bade066f84b4aa023fc852eec246ff67bf64a267
+DIST llvmorg-11.0.0-rc2.tar.gz 122728230 BLAKE2B 7944adf41ec7cd82489666a0a38a857de628879d59a2e3bb566b67c18500092430db66ff214d45cb324128c874a74a72c367b452df3b88ec95b33c284dd35512 SHA512 25eb2879eb22e79a1e840ef24cf3f5eec602e947101db299393e06e3d09f2d1531eef214264636e1b511eafff7f51b1834d5a03976ccd088eb680745b147e9f3
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc2.ebuild b/sys-devel/llvm/llvm-11.0.0_rc2.ebuild
new file mode 100644
index 00000000000..6ee898821d6
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.0_rc2.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-19 20:17 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-09-19 20:17 UTC (permalink / raw
To: gentoo-commits
commit: 9738e3d663f735ebe56f4691032fc88257a8fa3f
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 19 20:16:49 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat Sep 19 20:16:49 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9738e3d6
sys-devel/llvm: Stabilize 10.0.1 amd64, #742974
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 2bdf59ccedd..22d8b57e665 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-20 15:16 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-09-20 15:16 UTC (permalink / raw
To: gentoo-commits
commit: 759cf8e3caa7c51fa25203bb978bb0cdce9d837e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 15:09:21 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 15:16:50 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=759cf8e3
sys-devel/llvm: Stabilize 10.0.1 arm64, #742974
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 22d8b57e665..f39e01b03d8 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-20 21:14 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2020-09-20 21:14 UTC (permalink / raw
To: gentoo-commits
commit: 0fdc20fbb0b292277df559289a417b57687f538c
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 21:05:30 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 21:13:49 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fdc20fb
sys-devel/llvm: x86 stable (bug #742974)
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index f39e01b03d8..dfd63e89cba 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-22 20:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-09-22 20:40 UTC (permalink / raw
To: gentoo-commits
commit: 7f7e967996eb98952606520dc421df7ae87d24da
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 22 17:09:37 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 22 20:39:52 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f7e9679
sys-devel/llvm: Bump to 11.0.0-rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.0_rc3.ebuild | 503 ++++++++++++++++++++++++++++++++++
2 files changed, 504 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index bb3006e0716..0db1f576cc5 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,4 +4,5 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc1.tar.gz 122688246 BLAKE2B 10ff3f08ff3780abb1d86ac67942e6aac52ff5daf820a2e3d23d8b79dbade1c5b1d398d0a577028d2d7c8759ab9a8b552a0305b5750310a015585c06cdadf844 SHA512 09564ed903902a5795fffaa4679badc30bf49739889a48074b5ae2c93bd29000cfb36a650208d5cae5d74899bade066f84b4aa023fc852eec246ff67bf64a267
DIST llvmorg-11.0.0-rc2.tar.gz 122728230 BLAKE2B 7944adf41ec7cd82489666a0a38a857de628879d59a2e3bb566b67c18500092430db66ff214d45cb324128c874a74a72c367b452df3b88ec95b33c284dd35512 SHA512 25eb2879eb22e79a1e840ef24cf3f5eec602e947101db299393e06e3d09f2d1531eef214264636e1b511eafff7f51b1834d5a03976ccd088eb680745b147e9f3
+DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc3.ebuild b/sys-devel/llvm/llvm-11.0.0_rc3.ebuild
new file mode 100644
index 00000000000..6ee898821d6
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.0_rc3.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-23 10:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-09-23 10:35 UTC (permalink / raw
To: gentoo-commits
commit: b63accbc0f40cf521185c68b026a53ad66d5447a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 23 10:34:38 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 23 10:35:47 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b63accbc
sys-devel/llvm: Remove old 11.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-11.0.0_rc1.ebuild | 503 ----------------------------------
sys-devel/llvm/llvm-11.0.0_rc2.ebuild | 503 ----------------------------------
3 files changed, 1008 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0db1f576cc5..399bed87092 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,7 +2,5 @@ DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
-DIST llvmorg-11.0.0-rc1.tar.gz 122688246 BLAKE2B 10ff3f08ff3780abb1d86ac67942e6aac52ff5daf820a2e3d23d8b79dbade1c5b1d398d0a577028d2d7c8759ab9a8b552a0305b5750310a015585c06cdadf844 SHA512 09564ed903902a5795fffaa4679badc30bf49739889a48074b5ae2c93bd29000cfb36a650208d5cae5d74899bade066f84b4aa023fc852eec246ff67bf64a267
-DIST llvmorg-11.0.0-rc2.tar.gz 122728230 BLAKE2B 7944adf41ec7cd82489666a0a38a857de628879d59a2e3bb566b67c18500092430db66ff214d45cb324128c874a74a72c367b452df3b88ec95b33c284dd35512 SHA512 25eb2879eb22e79a1e840ef24cf3f5eec602e947101db299393e06e3d09f2d1531eef214264636e1b511eafff7f51b1834d5a03976ccd088eb680745b147e9f3
DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc1.ebuild b/sys-devel/llvm/llvm-11.0.0_rc1.ebuild
deleted file mode 100644
index 6ee898821d6..00000000000
--- a/sys-devel/llvm/llvm-11.0.0_rc1.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.0.0_rc2.ebuild b/sys-devel/llvm/llvm-11.0.0_rc2.ebuild
deleted file mode 100644
index 6ee898821d6..00000000000
--- a/sys-devel/llvm/llvm-11.0.0_rc2.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-09-28 21:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-09-28 21:41 UTC (permalink / raw
To: gentoo-commits
commit: f645bf9056d2604931c3ff1b2cbdce6b559dd17b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 28 19:52:36 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 28 21:41:02 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f645bf90
sys-devel/llvm: Bump to 11.0.0-rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.0_rc4.ebuild | 503 ++++++++++++++++++++++++++++++++++
2 files changed, 504 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 399bed87092..b1df16bae5a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,4 +3,5 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
+DIST llvmorg-11.0.0-rc4.tar.gz 122768150 BLAKE2B e92417b6e1775a10c196534518036de6393e3cb9e0e656d4f864e7870be8fb0dad3f4cf170345e653ba60f36172df117977d5dfebe3d9ee7ec2c160d3dc9c5cd SHA512 ed2aee9f6d0bb887f27840158e9f95d94c9ad3981a0388a33fcd3e405f5072134a02999075238b6a2b8803149aa08ac790214605b186c2cc2d4827ba53c00de1
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc4.ebuild b/sys-devel/llvm/llvm-11.0.0_rc4.ebuild
new file mode 100644
index 00000000000..6ee898821d6
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.0_rc4.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-06 13:41 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-10-06 13:41 UTC (permalink / raw
To: gentoo-commits
commit: a635b323d450cf12d511a9da3087c8bf92fe97a0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 6 13:31:02 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 6 13:31:02 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a635b323
sys-devel/llvm: Stabilize 10.0.1 arm, #742974
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index dfd63e89cba..f9c28daef04 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-07 18:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-10-07 18:37 UTC (permalink / raw
To: gentoo-commits
commit: 53b30a18e81a87568faf83bbd5da197bfaad35dd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 7 15:52:42 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 7 18:37:30 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53b30a18
sys-devel/llvm: Bump to 11.0.0-rc6
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.0_rc6.ebuild | 503 ++++++++++++++++++++++++++++++++++
2 files changed, 504 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b1df16bae5a..9439ef4cda7 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,4 +4,5 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
DIST llvmorg-11.0.0-rc4.tar.gz 122768150 BLAKE2B e92417b6e1775a10c196534518036de6393e3cb9e0e656d4f864e7870be8fb0dad3f4cf170345e653ba60f36172df117977d5dfebe3d9ee7ec2c160d3dc9c5cd SHA512 ed2aee9f6d0bb887f27840158e9f95d94c9ad3981a0388a33fcd3e405f5072134a02999075238b6a2b8803149aa08ac790214605b186c2cc2d4827ba53c00de1
+DIST llvmorg-11.0.0-rc6.tar.gz 122769521 BLAKE2B 0d03f385447902846dcb8150bda85ac0ab42153f63bb653befc18ed1cba357493065777750447b0ac71c077f61ea8c8f7a4c313ea5f3079926ffd012ace0debd SHA512 249b8e685cfc45a651f4dbd777b10298251c77476b57f9657860644ded612f810224d16879225d17b7a6ac9d584d63d53a33ac114c38e1cf86dd9e8d0faed9a9
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc6.ebuild b/sys-devel/llvm/llvm-11.0.0_rc6.ebuild
new file mode 100644
index 00000000000..6ee898821d6
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.0_rc6.ebuild
@@ -0,0 +1,503 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ libffi? ( virtual/pkgconfig )
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+ ')"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+python_check_deps() {
+ if use doc; then
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
+ return 1
+ fi
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-11 6:06 Georgy Yakovlev
0 siblings, 0 replies; 860+ messages in thread
From: Georgy Yakovlev @ 2020-10-11 6:06 UTC (permalink / raw
To: gentoo-commits
commit: cbaa92b8e753ce3d0227a928555ba1ea327c0ff5
Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 11 05:31:56 2020 +0000
Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Oct 11 05:31:56 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbaa92b8
sys-devel/llvm: 10.0.1 ppc64 stable, bug #742974
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index f9c28daef04..b162bfbdf27 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -28,7 +28,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-12 12:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-10-12 12:38 UTC (permalink / raw
To: gentoo-commits
commit: f0f2b4665b021791d9d1748269785686804c82e5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 12 09:16:32 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 12 12:38:26 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0f2b466
sys-devel/llvm: Remove 11.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-11.0.0_rc3.ebuild | 503 ----------------------------------
sys-devel/llvm/llvm-11.0.0_rc4.ebuild | 503 ----------------------------------
sys-devel/llvm/llvm-11.0.0_rc6.ebuild | 503 ----------------------------------
4 files changed, 1512 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1562c14b290..bb6d8002b9f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,8 +2,5 @@ DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
-DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
-DIST llvmorg-11.0.0-rc4.tar.gz 122768150 BLAKE2B e92417b6e1775a10c196534518036de6393e3cb9e0e656d4f864e7870be8fb0dad3f4cf170345e653ba60f36172df117977d5dfebe3d9ee7ec2c160d3dc9c5cd SHA512 ed2aee9f6d0bb887f27840158e9f95d94c9ad3981a0388a33fcd3e405f5072134a02999075238b6a2b8803149aa08ac790214605b186c2cc2d4827ba53c00de1
-DIST llvmorg-11.0.0-rc6.tar.gz 122769521 BLAKE2B 0d03f385447902846dcb8150bda85ac0ab42153f63bb653befc18ed1cba357493065777750447b0ac71c077f61ea8c8f7a4c313ea5f3079926ffd012ace0debd SHA512 249b8e685cfc45a651f4dbd777b10298251c77476b57f9657860644ded612f810224d16879225d17b7a6ac9d584d63d53a33ac114c38e1cf86dd9e8d0faed9a9
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.0_rc3.ebuild b/sys-devel/llvm/llvm-11.0.0_rc3.ebuild
deleted file mode 100644
index 6ee898821d6..00000000000
--- a/sys-devel/llvm/llvm-11.0.0_rc3.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.0.0_rc4.ebuild b/sys-devel/llvm/llvm-11.0.0_rc4.ebuild
deleted file mode 100644
index 6ee898821d6..00000000000
--- a/sys-devel/llvm/llvm-11.0.0_rc4.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.0.0_rc6.ebuild b/sys-devel/llvm/llvm-11.0.0_rc6.ebuild
deleted file mode 100644
index 6ee898821d6..00000000000
--- a/sys-devel/llvm/llvm-11.0.0_rc6.ebuild
+++ /dev/null
@@ -1,503 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-14 21:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-10-14 21:14 UTC (permalink / raw
To: gentoo-commits
commit: f349dc5fa5c76931e9a8629edfaa9054fed2f37f
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Wed Oct 14 00:00:00 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:14:18 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f349dc5f
sys-devel/llvm: Set used Python interpreter.
Required since:
https://github.com/llvm/llvm-project/commit/c4c3883b00d3a6aa657a5e3e515c90c9ea1f81c6
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 3 +++
sys-devel/llvm/llvm-11.0.0.ebuild | 3 +++
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 3 +++
3 files changed, 9 insertions(+)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 6ee898821d6..fd13357643c 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -53,6 +53,7 @@ DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
+ >=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
@@ -362,6 +363,8 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ -DPython3_EXECUTABLE="${PYTHON}"
+
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index a1a38d4cbd2..1a9eb3f6406 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -53,6 +53,7 @@ DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
+ >=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
@@ -362,6 +363,8 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ -DPython3_EXECUTABLE="${PYTHON}"
+
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index 9f6248bfa03..9c432a044b6 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -53,6 +53,7 @@ DEPEND="${RDEPEND}
gold? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
+ >=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
<sys-libs/libcxx-$(ver_cut 1-3).9999
@@ -363,6 +364,8 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ -DPython3_EXECUTABLE="${PYTHON}"
+
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-DOCAMLFIND=NO
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-26 16:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-10-26 16:48 UTC (permalink / raw
To: gentoo-commits
commit: a338e5ac4f704a03ac8ba0fb905c0f9011bf9eb5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 11:34:01 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 16:48:41 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a338e5ac
sys-devel/llvm: Reuse eclass manpage build logic for 10.0.1+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 51 +++++++++++++++++++++-------------
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 51 +++++++++++++++++++++-------------
sys-devel/llvm/llvm-11.0.0.ebuild | 51 +++++++++++++++++++++-------------
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 51 +++++++++++++++++++++-------------
4 files changed, 128 insertions(+), 76 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index b162bfbdf27..819b1086a7b 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -58,11 +59,12 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -77,10 +79,9 @@ PATCHES=(
)
python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -111,7 +112,7 @@ check_distribution_components() {
;;
# used only w/ USE=doc
docs-llvm-html)
- continue
+ use doc || continue
;;
esac
@@ -275,12 +276,16 @@ get_distribution_components() {
# python modules
opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
)
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
use doc && out+=(
docs-llvm-html
)
@@ -362,15 +367,22 @@ multilib_src_configure() {
)
if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
+ -DLLVM_BUILD_DOCS=${build_docs}
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_SPHINX=${build_docs}
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
)
use gold && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
@@ -465,6 +477,7 @@ multilib_src_install_all() {
_EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
}
pkg_postinst() {
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index fd13357643c..8e4357a1098 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -59,11 +60,12 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -72,10 +74,9 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -138,7 +139,7 @@ check_distribution_components() {
;;
# used only w/ USE=doc
docs-llvm-html)
- continue
+ use doc || continue
;;
esac
@@ -302,12 +303,16 @@ get_distribution_components() {
# python modules
opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
)
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
use doc && out+=(
docs-llvm-html
)
@@ -391,15 +396,22 @@ multilib_src_configure() {
)
if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
+ -DLLVM_BUILD_DOCS=${build_docs}
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_SPHINX=${build_docs}
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
)
use gold && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
@@ -494,6 +506,7 @@ multilib_src_install_all() {
_EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
}
pkg_postinst() {
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 1a9eb3f6406..4f4194c6cef 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -59,11 +60,12 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -72,10 +74,9 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -138,7 +139,7 @@ check_distribution_components() {
;;
# used only w/ USE=doc
docs-llvm-html)
- continue
+ use doc || continue
;;
esac
@@ -302,12 +303,16 @@ get_distribution_components() {
# python modules
opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
)
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
use doc && out+=(
docs-llvm-html
)
@@ -391,15 +396,22 @@ multilib_src_configure() {
)
if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
+ -DLLVM_BUILD_DOCS=${build_docs}
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_SPHINX=${build_docs}
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
)
use gold && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
@@ -494,6 +506,7 @@ multilib_src_install_all() {
_EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
}
pkg_postinst() {
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index 9c432a044b6..67438844e8e 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -59,11 +60,12 @@ BDEPEND="
<sys-libs/libcxx-$(ver_cut 1-3).9999
>=sys-devel/binutils-apple-5.1
)
- libffi? ( virtual/pkgconfig )
- $(python_gen_any_dep '
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
- ')"
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
RDEPEND="${RDEPEND}
@@ -72,10 +74,9 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
python_check_deps() {
- if use doc; then
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
- return 1
- fi
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
@@ -138,7 +139,7 @@ check_distribution_components() {
;;
# used only w/ USE=doc
docs-llvm-html)
- continue
+ use doc || continue
;;
esac
@@ -303,12 +304,16 @@ get_distribution_components() {
# python modules
opt-viewer
-
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
)
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
use doc && out+=(
docs-llvm-html
)
@@ -392,15 +397,22 @@ multilib_src_configure() {
)
if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
+ -DLLVM_BUILD_DOCS=${build_docs}
-DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=ON
+ -DLLVM_ENABLE_SPHINX=${build_docs}
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
)
use gold && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
@@ -495,6 +507,7 @@ multilib_src_install_all() {
_EOF_
docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
}
pkg_postinst() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-10-26 16:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-10-26 16:48 UTC (permalink / raw
To: gentoo-commits
commit: 8a4012cee7e7860adbdb80ddd54e707393959f08
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 13:30:10 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 16:48:42 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a4012ce
sys-devel/llvm: Reintroduce pregenerated manpages for release
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 ++
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index bb6d8002b9f..723fd66fce7 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,4 +1,6 @@
DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
+DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
+DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 819b1086a7b..d81126a219b 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -10,7 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 4f4194c6cef..6bdf1c7ec77 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -10,7 +10,7 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-16 6:40 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-11-16 6:40 UTC (permalink / raw
To: gentoo-commits
commit: d0aeab45e290c16f636b18ef7b4100e46fbfd2a2
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 06:39:58 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 06:39:58 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0aeab45
sys-devel/llvm: Stabilize 11.0.0 amd64, #754744
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index ad20115fb6b..fa4d67a0255 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-16 6:41 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-11-16 6:41 UTC (permalink / raw
To: gentoo-commits
commit: 55955121c479e8e2d196bf4593166d0775fc3040
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 06:40:51 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 06:40:51 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55955121
sys-devel/llvm: Stabilize 11.0.0 arm, #754744
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index fa4d67a0255..819e8ae940d 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-16 6:42 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2020-11-16 6:42 UTC (permalink / raw
To: gentoo-commits
commit: 5215bd8d056c8a69d9ab155c252057a2f25652d0
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 06:42:34 2020 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 06:42:34 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5215bd8d
sys-devel/llvm: Stabilize 11.0.0 ppc64, #754744
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 819e8ae940d..eac3bcb1750 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm ~arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-16 21:03 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2020-11-16 21:03 UTC (permalink / raw
To: gentoo-commits
commit: 7557fddb72eb98e938657a264da9591e69fd84b3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 21:02:59 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 21:02:59 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7557fddb
sys-devel/llvm: Stabilize 11.0.0 arm64, #754744
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index eac3bcb1750..936683d044c 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-17 9:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-17 9:21 UTC (permalink / raw
To: gentoo-commits
commit: fc90287329fa908d889974cb8039ed4fde9e3dda
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 17 09:02:49 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 17 09:21:45 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc902873
sys-devel/llvm: Update the target list
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index 67438844e8e..d15845fe310 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -14,7 +14,7 @@ LLVM_MANPAGES=build
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-17 9:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-17 9:21 UTC (permalink / raw
To: gentoo-commits
commit: 15a09d1b8a60ac72e5093ab13b73f48d68ba70cc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 17 09:16:41 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 17 09:21:49 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15a09d1b
sys-devel/llvm: Update the distribution list
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index d15845fe310..a1a53f9e1e2 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -243,6 +243,7 @@ get_distribution_components() {
llvm-ar
llvm-as
llvm-bcanalyzer
+ llvm-bitcode-strip
llvm-c-test
llvm-cat
llvm-cfi-verify
@@ -264,6 +265,7 @@ get_distribution_components() {
llvm-ifs
llvm-install-name-tool
llvm-jitlink
+ llvm-jitlink-executor
llvm-lib
llvm-libtool-darwin
llvm-link
@@ -299,6 +301,7 @@ get_distribution_components() {
opt
sancov
sanstats
+ split-file
verify-uselistorder
yaml2obj
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-17 20:24 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2020-11-17 20:24 UTC (permalink / raw
To: gentoo-commits
commit: 3b672606a56de844f134d772134ca334d26965d6
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 17 20:18:57 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Nov 17 20:24:31 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b672606
sys-devel/llvm: x86 stable (bug #754744)
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 936683d044c..1b22698435e 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 8:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 8:26 UTC (permalink / raw
To: gentoo-commits
commit: 32db4790cec79912d5db57e17af7f1fa868f81ae
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 08:23:31 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 08:26:05 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32db4790
sys-devel/llvm: Remove 10.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-10.0.0.ebuild | 429 --------------------------------------
2 files changed, 431 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 723fd66fce7..12547e9bcfb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,8 +1,6 @@
-DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
-DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
deleted file mode 100644
index 5abee337a22..00000000000
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ /dev/null
@@ -1,429 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-MANPAGE_P=llvm-10.0.0-manpages
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- if ! use doc; then
- ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
- tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 8:59 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 8:59 UTC (permalink / raw
To: gentoo-commits
commit: 567a28e63c8db5205cff3c4b6f357c430d597e25
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 08:50:16 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 08:50:16 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=567a28e6
sys-devel/llvm: Delay llvm.org_set_globals after vars
Closes: https://bugs.gentoo.org/757537
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 7 ++++---
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index 8e4357a1098..bd682feac73 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -9,9 +9,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
@@ -73,6 +70,10 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
python_check_deps() {
use doc || return 0
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index a1a53f9e1e2..e5c2eb7959a 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -9,9 +9,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
@@ -73,6 +70,10 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
python_check_deps() {
use doc || return 0
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 8:59 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 8:59 UTC (permalink / raw
To: gentoo-commits
commit: 455cdd5ec45add84a4f268c83193f99fcb9ff044
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 08:46:56 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 08:46:56 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=455cdd5e
sys-devel/llvm: Revert "Remove 10.0.0"
Reverts: 32db4790cec79912d5db57e17af7f1fa868f81ae
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-10.0.0.ebuild | 429 ++++++++++++++++++++++++++++++++++++++
2 files changed, 431 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 12547e9bcfb..723fd66fce7 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,8 @@
+DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
+DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
new file mode 100644
index 00000000000..5abee337a22
--- /dev/null
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -0,0 +1,429 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm.org multilib-minimal multiprocessing \
+ pax-utils python-any-r1 toolchain-funcs
+
+MANPAGE_P=llvm-10.0.0-manpages
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="
+ !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? (
+ || (
+ >=sys-devel/binutils-2.31.1-r4:*[plugins]
+ <sys-devel/binutils-2.31.1-r4:*[cxx]
+ )
+ )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_unpack() {
+ llvm.org_src_unpack
+
+ if ! use doc; then
+ ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
+ tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
+ eend ${?}
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # User patches + QA
+ cmake-utils_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ use doc && out+=(
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=$(usex doc)
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=$(usex doc)
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use doc && mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake-utils_src_make install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ # install pre-generated manpages
+ if ! use doc; then
+ # (doman does not support custom paths)
+ insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
+ doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 9:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 9:30 UTC (permalink / raw
To: gentoo-commits
commit: 57b6ed0d7e03115c271285314f68932a7d815492
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 09:22:42 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 09:22:42 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57b6ed0d
sys-devel/llvm: Remove stale binutils version support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.0.ebuild | 7 +------
sys-devel/llvm/llvm-10.0.1.ebuild | 7 +------
sys-devel/llvm/llvm-11.0.0.9999.ebuild | 7 +------
sys-devel/llvm/llvm-11.0.0.ebuild | 7 +------
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 7 +------
sys-devel/llvm/llvm-9.0.1.ebuild | 7 +------
6 files changed, 6 insertions(+), 36 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
index 5abee337a22..32d36c62955 100644
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ b/sys-devel/llvm/llvm-10.0.0.ebuild
@@ -40,12 +40,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index d81126a219b..2c1968b03ad 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -38,12 +38,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
index bd682feac73..9c6edd92398 100644
--- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.9999.ebuild
@@ -35,12 +35,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 1b22698435e..05dcd64f247 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -38,12 +38,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index e5c2eb7959a..610b92aa0fb 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -35,12 +35,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 2f2553d82fb..6f532c4a530 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -38,12 +38,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
exegesis? ( dev-libs/libpfm:= )
- gold? (
- || (
- >=sys-devel/binutils-2.31.1-r4:*[plugins]
- <sys-devel/binutils-2.31.1-r4:*[cxx]
- )
- )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 9:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 9:30 UTC (permalink / raw
To: gentoo-commits
commit: ab564c780acbcb0ed1ba55ac1bf8d9d11b98888a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 09:30:02 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 09:30:02 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab564c78
sys-devel/llvm: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-10.0.0.ebuild | 424 --------------------------------------
2 files changed, 426 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 723fd66fce7..12547e9bcfb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,8 +1,6 @@
-DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
-DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-10.0.0.ebuild
deleted file mode 100644
index 32d36c62955..00000000000
--- a/sys-devel/llvm/llvm-10.0.0.ebuild
+++ /dev/null
@@ -1,424 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-MANPAGE_P=llvm-10.0.0-manpages
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- if ! use doc; then
- ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
- tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- use doc && out+=(
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake-utils_src_make install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 10:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 10:40 UTC (permalink / raw
To: gentoo-commits
commit: 2bb132dfde65bbf47793d2404d3f541d77bbe4eb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 10:39:53 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 10:39:53 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bb132df
sys-devel/llvm: 11.0.0.9999 → 11.0.1.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-11.0.0.9999.ebuild => llvm-11.0.1.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.1.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-11.0.0.9999.ebuild
rename to sys-devel/llvm/llvm-11.0.1.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-11-29 10:57 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-11-29 10:57 UTC (permalink / raw
To: gentoo-commits
commit: a58999197f63637432c8b12be432227d42088af7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 29 10:55:15 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 29 10:56:21 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5899919
sys-devel/llvm: Bump to 11.0.1-rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.1_rc1.ebuild | 515 ++++++++++++++++++++++++++++++++++
2 files changed, 516 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 12547e9bcfb..8b61969047e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,4 +3,5 @@ DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
+DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.1_rc1.ebuild b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
new file mode 100644
index 00000000000..9c6edd92398
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2020-12-19 9:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2020-12-19 9:14 UTC (permalink / raw
To: gentoo-commits
commit: 509ef321b9dee5a48f674b4fc00e1c40e4f9717f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 19 09:11:35 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 19 09:11:35 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=509ef321
sys-devel/llvm: Bump to 11.0.1-rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.1_rc2.ebuild | 515 ++++++++++++++++++++++++++++++++++
2 files changed, 516 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8b61969047e..550519a70a4 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,4 +4,5 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1
+DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.1_rc2.ebuild b/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
new file mode 100644
index 00000000000..9c6edd92398
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-01 15:32 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2021-01-01 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 82671ff8646c372ed9d8d6782f143b27b43ca0c8
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 1 15:32:10 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Jan 1 15:32:10 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82671ff8
sys-devel/llvm: fix usage of libc++, bug #762898
Closes: https://bugs.gentoo.org/762898
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.0.ebuild | 3 ++-
sys-devel/llvm/llvm-11.0.1.9999.ebuild | 3 ++-
sys-devel/llvm/llvm-11.0.1_rc1.ebuild | 3 ++-
sys-devel/llvm/llvm-11.0.1_rc2.ebuild | 3 ++-
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 3 ++-
5 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 332088bd561..81c796ea85f 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -381,6 +381,7 @@ multilib_src_configure() {
# libraries with libstdc++ clang, and the other way around.
mycmakeargs+=(
-DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
)
fi
diff --git a/sys-devel/llvm/llvm-11.0.1.9999.ebuild b/sys-devel/llvm/llvm-11.0.1.9999.ebuild
index 9c6edd92398..40ecd173e2d 100644
--- a/sys-devel/llvm/llvm-11.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -376,6 +376,7 @@ multilib_src_configure() {
# libraries with libstdc++ clang, and the other way around.
mycmakeargs+=(
-DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
)
fi
diff --git a/sys-devel/llvm/llvm-11.0.1_rc1.ebuild b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
index 9c6edd92398..40ecd173e2d 100644
--- a/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -376,6 +376,7 @@ multilib_src_configure() {
# libraries with libstdc++ clang, and the other way around.
mycmakeargs+=(
-DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
)
fi
diff --git a/sys-devel/llvm/llvm-11.0.1_rc2.ebuild b/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
index 9c6edd92398..40ecd173e2d 100644
--- a/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -376,6 +376,7 @@ multilib_src_configure() {
# libraries with libstdc++ clang, and the other way around.
mycmakeargs+=(
-DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
)
fi
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index 610b92aa0fb..d51ccdbab14 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -380,6 +380,7 @@ multilib_src_configure() {
# libraries with libstdc++ clang, and the other way around.
mycmakeargs+=(
-DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
)
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-06 15:32 Fabian Groffen
0 siblings, 0 replies; 860+ messages in thread
From: Fabian Groffen @ 2021-01-06 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 0d525b6f5c48b07594b74afd0ad443a7d88f1caf
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 15:31:24 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 15:31:24 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d525b6f
sys-devel/llvm: drop x86-macos
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 4 ++--
sys-devel/llvm/llvm-11.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-9.0.1.ebuild | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 2c1968b03ad..36f06277c37 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index 81c796ea85f..0cbcd376ab3 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
index 6f532c4a530..c0b10c76d14 100644
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ b/sys-devel/llvm/llvm-9.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-06 21:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-06 21:23 UTC (permalink / raw
To: gentoo-commits
commit: 74eb02810c5ef4a5c04c5ac8d59d9d7be726e232
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 17:18:41 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 21:23:33 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74eb0281
sys-devel/llvm: Remove 11.0.1 RCs and live
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-11.0.1.9999.ebuild | 516 ---------------------------------
sys-devel/llvm/llvm-11.0.1_rc1.ebuild | 516 ---------------------------------
sys-devel/llvm/llvm-11.0.1_rc2.ebuild | 516 ---------------------------------
4 files changed, 1550 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index ed767c4ebf3..4f4d8ff6083 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,7 +3,5 @@ DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
-DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1
-DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.0.1.9999.ebuild b/sys-devel/llvm/llvm-11.0.1.9999.ebuild
deleted file mode 100644
index 40ecd173e2d..00000000000
--- a/sys-devel/llvm/llvm-11.0.1.9999.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.0.1_rc1.ebuild b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
deleted file mode 100644
index 40ecd173e2d..00000000000
--- a/sys-devel/llvm/llvm-11.0.1_rc1.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.0.1_rc2.ebuild b/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
deleted file mode 100644
index 40ecd173e2d..00000000000
--- a/sys-devel/llvm/llvm-11.0.1_rc2.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-07 9:45 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-07 9:45 UTC (permalink / raw
To: gentoo-commits
commit: 4e63142167cb80c049700093b68d0cca3ed3877d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 7 09:32:31 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 7 09:45:30 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e631421
sys-devel/llvm: Switch to pregen manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.0.1.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4f4d8ff6083..0242b9019a7 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,5 +1,6 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
+DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index c1a90dfcf3c..bb144c48827 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -66,7 +66,7 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
llvm.org_set_globals
python_check_deps() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-14 21:30 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-14 21:30 UTC (permalink / raw
To: gentoo-commits
commit: 77fcfbd993ddefd0ae1300cedeaab5bb12ecc85e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 14 17:48:02 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 14 21:29:34 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77fcfbd9
sys-devel/llvm: Bump to 11.1.0-rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.1.0_rc1.ebuild | 516 ++++++++++++++++++++++++++++++++++
2 files changed, 517 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0242b9019a7..26d3830258e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,4 +5,5 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
+DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.1.0_rc1.ebuild b/sys-devel/llvm/llvm-11.1.0_rc1.ebuild
new file mode 100644
index 00000000000..40ecd173e2d
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0_rc1.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-23 11:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-23 11:49 UTC (permalink / raw
To: gentoo-commits
commit: f2c595795b8525a70d7b5d9e9f53eb97fe9e19c1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 23 09:01:52 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 23 11:48:59 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2c59579
sys-devel/llvm: Bump to 11.1.0-rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.1.0_rc2.ebuild | 516 ++++++++++++++++++++++++++++++++++
2 files changed, 517 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 26d3830258e..5ae130dcc20 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,4 +6,5 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.1.0_rc2.ebuild b/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
new file mode 100644
index 00000000000..40ecd173e2d
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-28 9:04 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-28 9:04 UTC (permalink / raw
To: gentoo-commits
commit: 01b43ef0de62a468da351266cc69281bf9b0d1b0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 09:00:50 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 09:02:23 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01b43ef0
sys-devel/llvm: Add 13.x live ebuild
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 520 +++++++++++++++++++++++++++++++++
1 file changed, 520 insertions(+)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
new file mode 100644
index 00000000000..d51ccdbab14
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -0,0 +1,520 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-28 10:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-28 10:58 UTC (permalink / raw
To: gentoo-commits
commit: 854897b186f346b8263dda55219156b608ed582b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 09:54:50 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 10:58:03 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=854897b1
sys-devel/llvm: Add llvm-profgen component
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.9999.ebuild | 1 +
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index d51ccdbab14..11caae9220b 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -279,6 +279,7 @@ get_distribution_components() {
llvm-opt-report
llvm-pdbutil
llvm-profdata
+ llvm-profgen
llvm-ranlib
llvm-rc
llvm-readelf
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index d51ccdbab14..11caae9220b 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -279,6 +279,7 @@ get_distribution_components() {
llvm-opt-report
llvm-pdbutil
llvm-profdata
+ llvm-profgen
llvm-ranlib
llvm-rc
llvm-readelf
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-28 10:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-28 10:58 UTC (permalink / raw
To: gentoo-commits
commit: 431b21a9f455cc58ea22793ff77df683a7a36aa6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 10:32:38 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 10:58:06 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=431b21a9
sys-devel/llvm: Bump to 12.0.0-rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 5ae130dcc20..4d759b1c784 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,4 +7,5 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-28 11:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-28 11:48 UTC (permalink / raw
To: gentoo-commits
commit: 5f06f29713709386af852f0dde2e1f953246c597
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 11:48:27 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 11:48:52 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f06f297
sys-devel/llvm: Bump to 12.0.0-rc1 (this time with ebuild)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.0_rc1.ebuild | 521 ++++++++++++++++++++++++++++++++++
2 files changed, 522 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 5ae130dcc20..4d759b1c784 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,4 +7,5 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-12.0.0_rc1.ebuild b/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
new file mode 100644
index 00000000000..11caae9220b
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-01-28 11:48 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-01-28 11:48 UTC (permalink / raw
To: gentoo-commits
commit: 1060aa29066095d2134ef865ba36e7c340b60f70
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 28 11:47:54 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 28 11:48:51 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1060aa29
sys-devel/llvm: Revert "Bump to 12.0.0-rc1"
Reverts: 431b21a9f455cc58ea22793ff77df683a7a36aa6
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4d759b1c784..5ae130dcc20 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,5 +7,4 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
-DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-09 15:28 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-02-09 15:28 UTC (permalink / raw
To: gentoo-commits
commit: ec7036486cf763f87625bf6abb3726d53dba2e0b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 9 15:26:06 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 9 15:28:13 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec703648
sys-devel/llvm: Bump to 11.1.0-rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.1.0_rc3.ebuild | 516 ++++++++++++++++++++++++++++++++++
2 files changed, 517 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4d759b1c784..1b0796f9067 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,5 +7,6 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.1.0_rc3.ebuild b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
new file mode 100644
index 00000000000..6b479a5280e
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-17 13:03 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-02-17 13:03 UTC (permalink / raw
To: gentoo-commits
commit: 92105c78ec288d5d11b4aba9c40cd5e1d0dd1936
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 17 08:42:09 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 13:03:31 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92105c78
sys-devel/llvm: Bump to 11.1.0 (final)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.1.0.ebuild | 516 ++++++++++++++++++++++++++++++++++++++
2 files changed, 517 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1b0796f9067..0654b8746ff 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,5 +8,6 @@ DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
DIST llvmorg-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
+DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
new file mode 100644
index 00000000000..467daee8c88
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-lib
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-18 9:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-02-18 9:18 UTC (permalink / raw
To: gentoo-commits
commit: 06d33b36616b08111475dbcee1ad7ab73ea05380
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 18 09:00:01 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 18 09:17:49 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06d33b36
sys-devel/llvm: Switch to pregen. manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0654b8746ff..53903b5aa1e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
+DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 467daee8c88..3f27a9d16c4 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -66,7 +66,7 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
llvm.org_set_globals
python_check_deps() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-19 17:07 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2021-02-19 17:07 UTC (permalink / raw
To: gentoo-commits
commit: 31ad50ed19686e0eab96ee8d22caa75a0a860b55
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 19 17:02:11 2021 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Feb 19 17:06:53 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31ad50ed
sys-devel/llvm: x86 stable (bug #768567)
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index 3f27a9d16c4..785a708c930 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-20 10:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-02-20 10:10 UTC (permalink / raw
To: gentoo-commits
commit: 4d5822c1eecae6f00ee5c0f40fda3d50ece99fff
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 20 10:09:18 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 20 10:10:19 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d5822c1
sys-devel/llvm: Remove 11.1.0_rc*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-11.1.0_rc1.ebuild | 516 ----------------------------------
sys-devel/llvm/llvm-11.1.0_rc2.ebuild | 516 ----------------------------------
sys-devel/llvm/llvm-11.1.0_rc3.ebuild | 516 ----------------------------------
4 files changed, 1551 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 53903b5aa1e..1049fbbe729 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,9 +6,6 @@ DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
-DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
-DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
-DIST llvmorg-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-11.1.0_rc1.ebuild b/sys-devel/llvm/llvm-11.1.0_rc1.ebuild
deleted file mode 100644
index 6b479a5280e..00000000000
--- a/sys-devel/llvm/llvm-11.1.0_rc1.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.1.0_rc2.ebuild b/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
deleted file mode 100644
index 6b479a5280e..00000000000
--- a/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-11.1.0_rc3.ebuild b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
deleted file mode 100644
index 6b479a5280e..00000000000
--- a/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-24 11:59 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2021-02-24 11:59 UTC (permalink / raw
To: gentoo-commits
commit: dc3253156ca89e9432a9fea07562d71c6a82a05d
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 24 11:58:59 2021 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Wed Feb 24 11:58:59 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc325315
sys-devel/llvm: Stabilize 11.0.1 amd64, #768567
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index 785a708c930..47f7fbdeb37 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-25 13:24 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-02-25 13:24 UTC (permalink / raw
To: gentoo-commits
commit: 6340474398cb7978845fec24a8f7c8cd34e5eeb6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 25 11:39:09 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 25 13:24:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63404743
sys-devel/llvm: Remove 12.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.0_rc2.ebuild | 525 ++++++++++++++++++++++++++++++++++
2 files changed, 526 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1049fbbe729..55575a1afbf 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,4 +8,5 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
+DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-12.0.0_rc2.ebuild b/sys-devel/llvm/llvm-12.0.0_rc2.ebuild
new file mode 100644
index 00000000000..099dadeda31
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0_rc2.ebuild
@@ -0,0 +1,525 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # Disable LBR tests that are broken on non-Intel CPUs
+ # https://bugs.llvm.org/show_bug.cgi?id=48918
+ rm -r test/tools/llvm-exegesis/X86/lbr || die
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-02-26 22:45 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-02-26 22:45 UTC (permalink / raw
To: gentoo-commits
commit: 1bffd5e688f2da1e7d8006ce9d34b72b3390f23e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 26 22:44:43 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 22:44:43 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bffd5e6
sys-devel/llvm: Stabilize 11.0.1 arm64, #768567
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index ebec379cf2c..ca05d9a5a55 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-03-06 12:09 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-03-06 12:09 UTC (permalink / raw
To: gentoo-commits
commit: 6dfc46795d7bb92d955c76e0558a2d568f8816f4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 6 12:08:11 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 6 12:09:15 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6dfc4679
sys-devel/llvm: Remove 12.0.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-12.0.0_rc1.ebuild | 521 ----------------------------------
2 files changed, 522 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 55575a1afbf..8a9513611b0 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,6 +7,5 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
-DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-12.0.0_rc1.ebuild b/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
deleted file mode 100644
index b5396d6a154..00000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
+++ /dev/null
@@ -1,521 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-03-06 12:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-03-06 12:25 UTC (permalink / raw
To: gentoo-commits
commit: 76706168d6318e25fa56a9c435d2d6243484f8dc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 6 12:18:04 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 6 12:25:13 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76706168
sys-devel/llvm: Remove 9.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-9.0.1.ebuild | 292 ---------------------------------------
2 files changed, 294 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8a9513611b0..9b8226eddcd 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,10 +2,8 @@ DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c81
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
-DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
-DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild
deleted file mode 100644
index 1ffa2225270..00000000000
--- a/sys-devel/llvm/llvm-9.0.1.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_7 )
-inherit cmake-utils llvm.org multilib-minimal multiprocessing \
- pax-utils python-any-r1 toolchain-funcs
-
-# no changes in 9.0.1
-MANPAGE_P=llvm-9.0.0-manpages
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="
- !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
-LLVM_COMPONENTS=( llvm )
-llvm.org_set_globals
-
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- if ! use doc; then
- ebegin "Unpacking ${MANPAGE_P}.tar.bz2"
- tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die
- eend ${?}
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DWITH_POLLY=OFF # TODO
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=$(usex doc)
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=$(usex doc)
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use doc && mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- # install pre-generated manpages
- if ! use doc; then
- # (doman does not support custom paths)
- insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
- doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-03-19 18:14 Mikle Kolyada
0 siblings, 0 replies; 860+ messages in thread
From: Mikle Kolyada @ 2021-03-19 18:14 UTC (permalink / raw
To: gentoo-commits
commit: 7875025525f9ace3f71472ecfb2757a7454612f3
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 19 18:13:57 2021 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Fri Mar 19 18:13:57 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78750255
sys-devel/llvm: Stabilize 11.1.0 amd64, #777282
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 3f27a9d16c4..9b74cd6a434 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-03-30 0:21 Thomas Deutschmann
0 siblings, 0 replies; 860+ messages in thread
From: Thomas Deutschmann @ 2021-03-30 0:21 UTC (permalink / raw
To: gentoo-commits
commit: 19e69fc749ce58452154ef854aabd415c7221b2e
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 30 00:14:06 2021 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Mar 30 00:19:17 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19e69fc7
sys-devel/llvm: x86 stable (bug #777282)
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 9b74cd6a434..47f7fbdeb37 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-01 16:17 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-04-01 16:17 UTC (permalink / raw
To: gentoo-commits
commit: a1eb7f73fe00dafd8765f9144f93f5dd941ce3fc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 1 08:53:26 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 1 16:17:29 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1eb7f73
sys-devel/llvm: Bump to 12.0.0-rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.0_rc4.ebuild | 525 ++++++++++++++++++++++++++++++++++
2 files changed, 526 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0567a7bd04b..28abc1200a9 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,3 +8,4 @@ DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
+DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846
diff --git a/sys-devel/llvm/llvm-12.0.0_rc4.ebuild b/sys-devel/llvm/llvm-12.0.0_rc4.ebuild
new file mode 100644
index 00000000000..099dadeda31
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0_rc4.ebuild
@@ -0,0 +1,525 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # Disable LBR tests that are broken on non-Intel CPUs
+ # https://bugs.llvm.org/show_bug.cgi?id=48918
+ rm -r test/tools/llvm-exegesis/X86/lbr || die
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-05 16:53 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-04-05 16:53 UTC (permalink / raw
To: gentoo-commits
commit: 14a7d0351e741b25d842d5acfd2987c818b82e4e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 5 16:50:33 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Apr 5 16:52:46 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14a7d035
sys-devel/llvm: Stabilize 11.1.0 arm64, #777282
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index ebec379cf2c..ca05d9a5a55 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-09 11:46 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-04-09 11:46 UTC (permalink / raw
To: gentoo-commits
commit: a2f8e2ade783d18c49a7b006436337fa897272a1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 9 10:29:05 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 9 11:43:25 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2f8e2ad
sys-devel/llvm: Bump to 12.0.0-rc5
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.0_rc5.ebuild | 525 ++++++++++++++++++++++++++++++++++
2 files changed, 526 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 28abc1200a9..ac3ad9c19bd 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,3 +9,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846
+DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16
diff --git a/sys-devel/llvm/llvm-12.0.0_rc5.ebuild b/sys-devel/llvm/llvm-12.0.0_rc5.ebuild
new file mode 100644
index 00000000000..099dadeda31
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0_rc5.ebuild
@@ -0,0 +1,525 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # Disable LBR tests that are broken on non-Intel CPUs
+ # https://bugs.llvm.org/show_bug.cgi?id=48918
+ rm -r test/tools/llvm-exegesis/X86/lbr || die
+
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-15 20:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-04-15 20:44 UTC (permalink / raw
To: gentoo-commits
commit: d18ee29578db380977dd00eac2425bf0b7b582cd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 15 20:37:36 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 15 20:44:34 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d18ee295
sys-devel/llvm: Remove 12.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 4 -
sys-devel/llvm/llvm-12.0.0_rc2.ebuild | 525 ----------------------------------
sys-devel/llvm/llvm-12.0.0_rc3.ebuild | 525 ----------------------------------
sys-devel/llvm/llvm-12.0.0_rc4.ebuild | 525 ----------------------------------
sys-devel/llvm/llvm-12.0.0_rc5.ebuild | 525 ----------------------------------
5 files changed, 2104 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 0b320c65807..f9641d1ff9e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,8 +7,4 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
-DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
-DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
-DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846
-DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
diff --git a/sys-devel/llvm/llvm-12.0.0_rc2.ebuild b/sys-devel/llvm/llvm-12.0.0_rc2.ebuild
deleted file mode 100644
index 099dadeda31..00000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc2.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-12.0.0_rc3.ebuild b/sys-devel/llvm/llvm-12.0.0_rc3.ebuild
deleted file mode 100644
index 099dadeda31..00000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc3.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-12.0.0_rc4.ebuild b/sys-devel/llvm/llvm-12.0.0_rc4.ebuild
deleted file mode 100644
index 099dadeda31..00000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc4.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-12.0.0_rc5.ebuild b/sys-devel/llvm/llvm-12.0.0_rc5.ebuild
deleted file mode 100644
index 099dadeda31..00000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc5.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-22 15:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-04-22 15:07 UTC (permalink / raw
To: gentoo-commits
commit: ea608fed276fe30ba18cc36f443ff83234f75586
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 22 12:53:14 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 22 15:06:52 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea608fed
sys-devel/llvm: Update the 13.0.0.9999 live ebuild
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index 09568c1ceda..81a972bb271 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
@@ -274,6 +274,7 @@ get_distribution_components() {
llvm-objcopy
llvm-objdump
llvm-opt-report
+ llvm-otool
llvm-pdbutil
llvm-profdata
llvm-profgen
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-27 19:38 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-04-27 19:38 UTC (permalink / raw
To: gentoo-commits
commit: 08aa3a37eab8ff775c401d57119f1db3bb74137a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 27 19:14:02 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 27 19:35:00 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08aa3a37
sys-devel/llvm: keyword 12.0.0 for ~sparc
Tests looked good and successfully built against it (AFL++).
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index b7e391d58dc..9e1dbd1c764 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-04-28 13:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-04-28 13:02 UTC (permalink / raw
To: gentoo-commits
commit: f8dd39b95a9f8c949c2f1fe9c4ee0e284625afa1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 28 12:59:21 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 28 13:02:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8dd39b9
sys-devel/llvm: Backport gcc-11 build fix
Thanks to Stephan Hartmann for pointing out the relevant commit.
Closes: https://bugs.gentoo.org/786201
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 57eb19d6fa7..fbd5be32362 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,7 +3,7 @@ DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a
DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
-DIST llvm-gentoo-patchset-10.0.1-1.tar.xz 8320 BLAKE2B 1b7ea7669586e08fece0efcf02b392feed4b7f3e6e9cdd10ab7dcc30082cae5bb1daa6d3314a7b0329c4d70f3c736d0c57ed408c838601dc737d558d2a0a0f26 SHA512 75898a8d719657177bbf587d848be8e53135c09e50603660c19edab00f80b6c2f29e7b6fda2bef381b38df6e24a690d694029a38c525763408322573275fc9f0
+DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.0.0-1.tar.xz 6100 BLAKE2B 6f8fc9b7daa703f04b1283caaeb3665d4bec56ff80b1c5db35917c578fdd92617222bd2d2b83020144b8abdeaa261142b68aa3dee24350133f6721e41a167b78 SHA512 debdd92e6aa3133f474dfbd79f267e76d9d979e4e5d464c8d4343c6e6816b46376ca8080a9ee916152861907af9d0645ce71cf3582ef3dc31ec4ca3410fde9f6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 390045cc96e..3e8131297bc 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=10.0.1-1
+LLVM_PATCHSET=10.0.1-3
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-16 19:02 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-05-16 19:02 UTC (permalink / raw
To: gentoo-commits
commit: 27fba5442def6d45dc41efb5a0413da4664ddd53
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun May 16 19:02:16 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 16 19:02:16 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27fba544
sys-devel/llvm: Stabilize 11.0.1 ppc64, #768567
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-11.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index a85dbb33df5..86135d7d22d 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-17 1:10 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-05-17 1:10 UTC (permalink / raw
To: gentoo-commits
commit: 7038c0bab92046b9069f13ec98cac5946631dabd
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 17 01:09:20 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 17 01:09:20 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7038c0ba
sys-devel/llvm: Stabilize 11.1.0 ppc64, #777282
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index a85dbb33df5..86135d7d22d 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-17 1:37 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-05-17 1:37 UTC (permalink / raw
To: gentoo-commits
commit: 38bc64a8606a00f7756b1dfebfa9dfb7c1d3eaad
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 17 01:37:03 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 17 01:37:03 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38bc64a8
sys-devel/llvm: Keyword 12.0.0 ppc, #708344
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index 9e1dbd1c764..96705239ff0 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-17 6:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-05-17 6:49 UTC (permalink / raw
To: gentoo-commits
commit: 3957924e58ec6685bab76ac059c0c73c52a8b1c2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 16 20:26:29 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 17 06:49:31 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3957924e
sys-devel/llvm: Remove 11.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-11.0.0.ebuild | 512 --------------------------------------
2 files changed, 515 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index fbd5be32362..4c04d27082d 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,15 +1,12 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
-DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
-DIST llvm-gentoo-patchset-11.0.0-1.tar.xz 6100 BLAKE2B 6f8fc9b7daa703f04b1283caaeb3665d4bec56ff80b1c5db35917c578fdd92617222bd2d2b83020144b8abdeaa261142b68aa3dee24350133f6721e41a167b78 SHA512 debdd92e6aa3133f474dfbd79f267e76d9d979e4e5d464c8d4343c6e6816b46376ca8080a9ee916152861907af9d0645ce71cf3582ef3dc31ec4ca3410fde9f6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
-DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
deleted file mode 100644
index 2206aa4141f..00000000000
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=11.0.0-1
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-17 7:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-05-17 7:01 UTC (permalink / raw
To: gentoo-commits
commit: 8494343964c7b8d1e174128edec9738f9a0836fa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon May 17 06:59:45 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 17 07:01:41 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84943439
sys-devel/llvm: Remove 11.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-11.0.1.ebuild | 513 --------------------------------------
2 files changed, 515 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4c04d27082d..fe9ca6f11df 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,5 +1,4 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
-DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
@@ -7,6 +6,5 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
-DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
deleted file mode 100644
index 86135d7d22d..00000000000
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ /dev/null
@@ -1,513 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=11.1.0-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-05-26 12:08 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-05-26 12:08 UTC (permalink / raw
To: gentoo-commits
commit: 98b420f785fa023a79bef52783c938935aef2ddf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 26 08:54:31 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 26 12:07:55 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98b420f7
sys-devel/llvm: Bump to 12.0.1rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.1_rc1.ebuild | 518 ++++++++++++++++++++++++++++++++++
2 files changed, 519 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index fe9ca6f11df..50ab9fbc4e5 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,3 +8,4 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
diff --git a/sys-devel/llvm/llvm-12.0.1_rc1.ebuild b/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
new file mode 100644
index 00000000000..09568c1ceda
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-06-17 9:05 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-06-17 9:05 UTC (permalink / raw
To: gentoo-commits
commit: ea2a55a9ea0517b40ed5b6bd4248104d5ad380a0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 17 08:55:47 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 17 09:04:59 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea2a55a9
sys-devel/llvm: Bump to 12.0.1rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.1_rc2.ebuild | 518 ++++++++++++++++++++++++++++++++++
2 files changed, 519 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 50ab9fbc4e5..a4a462a022a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,3 +9,4 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
diff --git a/sys-devel/llvm/llvm-12.0.1_rc2.ebuild b/sys-devel/llvm/llvm-12.0.1_rc2.ebuild
new file mode 100644
index 00000000000..09568c1ceda
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.1_rc2.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-06-18 15:30 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-06-18 15:30 UTC (permalink / raw
To: gentoo-commits
commit: 8eab412089df2d27b45d89d61f0d74326c14adf9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 18 15:29:33 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 18 15:29:33 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eab4120
sys-devel/llvm: Stabilize 12.0.0 x86, #796215
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index 96705239ff0..30f79d7b68e 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-06-18 22:28 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-06-18 22:28 UTC (permalink / raw
To: gentoo-commits
commit: 3c39436f7e183557d18ebbebff44f9a8e11d338a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 18 22:26:18 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 18 22:26:18 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c39436f
sys-devel/llvm: Stabilize 12.0.0 amd64, #796215
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index 30f79d7b68e..de457f3e41d 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-06-20 22:55 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-06-20 22:55 UTC (permalink / raw
To: gentoo-commits
commit: 645e44da3bf48d824ad6ed37346a0fdc5a4498b5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 20 22:54:29 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 20 22:54:29 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=645e44da
sys-devel/llvm: Stabilize 12.0.0 arm, #796215
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index de457f3e41d..1ea57372b56 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-06-21 7:19 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-06-21 7:19 UTC (permalink / raw
To: gentoo-commits
commit: c489817ca1beb530ae9f6dca03632c86c8c78ccf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 21 07:18:19 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 21 07:18:19 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c489817c
sys-devel/llvm: Stabilize 12.0.0 arm64, #796215
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index 1ea57372b56..7fe87fbbd13 100644
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-05 22:54 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-05 22:54 UTC (permalink / raw
To: gentoo-commits
commit: 626101745a6a1bb1cad267ea9761f511f8da01d0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 5 20:59:38 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 5 22:53:44 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62610174
sys-devel/llvm: Bump to 12.0.1-rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.1_rc4.ebuild | 518 ++++++++++++++++++++++++++++++++++
2 files changed, 519 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a4a462a022a..5901f0acde8 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,3 +10,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
+DIST llvmorg-12.0.1-rc4.tar.gz 134278617 BLAKE2B d407421c7244bb125151e69e2a341f1af0a0cf8c1fda3b8ae3d4114c3a285d6307620bbf82b22d96d2c7782b37b0975e87be80c24e3ce1fdc71152734be1e8f8 SHA512 1a2c18435a970491eb9fc9381ba66af726e17dcbd5bf6774f9341b1e82fd35f2e5686844743f5317ebd2106b902c39e09aa98102e58a86e290b29102241c949f
diff --git a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
new file mode 100644
index 00000000000..09568c1ceda
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-elfabi
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-undname
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-06 13:49 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-06 13:49 UTC (permalink / raw
To: gentoo-commits
commit: c9e72e5e2709e6cfc8096367e03e3d4eb049648d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 6 12:07:35 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 6 13:49:15 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9e72e5e
sys-devel/llvm: Use 12.0.1-rc4-1 patchset
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.1_rc4.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 5901f0acde8..9e995927634 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,7 @@ DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b5
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
+DIST llvm-gentoo-patchset-12.0.1-rc4-1.tar.xz 4776 BLAKE2B 2ae7994089922805c9b82268e4c73d9a70edbb8860af7e593da904c673836713fae5fd7626ef1dbfe813c66f4da8308b26b4cd0bd977471834d49512690afa39 SHA512 386668fd338ee24677c51379c69a73b6a749bd4cf72bf59f9cb800b1ac19938275d64d0c23e431c80ed5e572d86d94bbb030241c43cbf541801cdc672f5911c1
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
diff --git a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
index 09568c1ceda..50f4bf93023 100644
--- a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
@@ -67,7 +67,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
+LLVM_PATCHSET=12.0.1-rc4-1
llvm.org_set_globals
python_check_deps() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-06 13:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-06 13:51 UTC (permalink / raw
To: gentoo-commits
commit: 1e70836c0f223366281c20f13e015226e3887a3f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 6 13:50:37 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 6 13:50:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e70836c
sys-devel/llvm: Remove 12.0.1-rc1 & -rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-12.0.1_rc1.ebuild | 518 ----------------------------------
sys-devel/llvm/llvm-12.0.1_rc2.ebuild | 518 ----------------------------------
3 files changed, 1038 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 9e995927634..07b33847fc9 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,6 +9,4 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
-DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
-DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
DIST llvmorg-12.0.1-rc4.tar.gz 134278617 BLAKE2B d407421c7244bb125151e69e2a341f1af0a0cf8c1fda3b8ae3d4114c3a285d6307620bbf82b22d96d2c7782b37b0975e87be80c24e3ce1fdc71152734be1e8f8 SHA512 1a2c18435a970491eb9fc9381ba66af726e17dcbd5bf6774f9341b1e82fd35f2e5686844743f5317ebd2106b902c39e09aa98102e58a86e290b29102241c949f
diff --git a/sys-devel/llvm/llvm-12.0.1_rc1.ebuild b/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
deleted file mode 100644
index 09568c1ceda..00000000000
--- a/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-12.0.1_rc2.ebuild b/sys-devel/llvm/llvm-12.0.1_rc2.ebuild
deleted file mode 100644
index 09568c1ceda..00000000000
--- a/sys-devel/llvm/llvm-12.0.1_rc2.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-06 15:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-06 15:21 UTC (permalink / raw
To: gentoo-commits
commit: 1a53533f4529740146f8df28cd8733a9f2e42ebd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 6 14:12:36 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 6 15:20:55 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a53533f
sys-devel/llvm: Enable py3.10
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.9999.ebuild | 2 +-
sys-devel/llvm/llvm-12.0.1_rc4.ebuild | 2 +-
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.9999.ebuild b/sys-devel/llvm/llvm-12.0.1.9999.ebuild
index 09568c1ceda..6f85a5d0f44 100644
--- a/sys-devel/llvm/llvm-12.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
toolchain-funcs
diff --git a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
index 50f4bf93023..0810033e4dd 100644
--- a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
toolchain-funcs
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index 81a972bb271..82bad48eff0 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
toolchain-funcs
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-09 14:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-09 14:44 UTC (permalink / raw
To: gentoo-commits
commit: 19c8a599b187ef53b0bb48665e1debd4b51495e0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 9 08:43:10 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 9 14:44:17 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19c8a599
sys-devel/llvm: Remove 12.0.1-rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-12.0.1_rc4.ebuild | 518 ----------------------------------
2 files changed, 520 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 180f9bfce05..c6bb4321371 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,11 +4,9 @@ DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b5
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
-DIST llvm-gentoo-patchset-12.0.1-rc4-1.tar.xz 4776 BLAKE2B 2ae7994089922805c9b82268e4c73d9a70edbb8860af7e593da904c673836713fae5fd7626ef1dbfe813c66f4da8308b26b4cd0bd977471834d49512690afa39 SHA512 386668fd338ee24677c51379c69a73b6a749bd4cf72bf59f9cb800b1ac19938275d64d0c23e431c80ed5e572d86d94bbb030241c43cbf541801cdc672f5911c1
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
-DIST llvmorg-12.0.1-rc4.tar.gz 134278617 BLAKE2B d407421c7244bb125151e69e2a341f1af0a0cf8c1fda3b8ae3d4114c3a285d6307620bbf82b22d96d2c7782b37b0975e87be80c24e3ce1fdc71152734be1e8f8 SHA512 1a2c18435a970491eb9fc9381ba66af726e17dcbd5bf6774f9341b1e82fd35f2e5686844743f5317ebd2106b902c39e09aa98102e58a86e290b29102241c949f
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
diff --git a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
deleted file mode 100644
index 0810033e4dd..00000000000
--- a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=12.0.1-rc4-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-09 14:44 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-09 14:44 UTC (permalink / raw
To: gentoo-commits
commit: 1b75664a221d197bc63e1a1ddcac560415be99b4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 9 09:49:05 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 9 14:44:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b75664a
sys-devel/llvm: Enable prebuilt manpages for 12.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c6bb4321371..85db0214ebb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
+DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 3d6dd18ea1e..7c4592021a3 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -66,7 +66,7 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
LLVM_PATCHSET=12.0.1
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-10 17:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-10 17:51 UTC (permalink / raw
To: gentoo-commits
commit: 7cdde00e195d04b146c740456f2a48f81855f89f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 10 17:46:37 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 10 17:51:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cdde00e
sys-devel/llvm: Remove 12.0.1.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.9999.ebuild | 518 ---------------------------------
1 file changed, 518 deletions(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.9999.ebuild b/sys-devel/llvm/llvm-12.0.1.9999.ebuild
deleted file mode 100644
index 6f85a5d0f44..00000000000
--- a/sys-devel/llvm/llvm-12.0.1.9999.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-07-30 18:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-07-30 18:14 UTC (permalink / raw
To: gentoo-commits
commit: aa8de4eb4b86943bd73bfffe49e6901eb7581d12
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 30 11:48:17 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 30 18:14:03 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa8de4eb
sys-devel/llvm: Update live ebuilds
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 6 ++++--
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index 82bad48eff0..ebe79aea74c 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -251,7 +251,6 @@ get_distribution_components() {
llvm-dlltool
llvm-dwarfdump
llvm-dwp
- llvm-elfabi
llvm-exegesis
llvm-extract
llvm-gsymutil
@@ -284,13 +283,16 @@ get_distribution_components() {
llvm-readobj
llvm-reduce
llvm-rtdyld
+ llvm-sim
llvm-size
llvm-split
llvm-stress
llvm-strings
llvm-strip
llvm-symbolizer
+ llvm-tapi-diff
llvm-undname
+ llvm-windres
llvm-xray
obj2yaml
opt
@@ -365,7 +367,7 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
# used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-DPython3_EXECUTABLE="${PYTHON}"
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index 82bad48eff0..ebe79aea74c 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -251,7 +251,6 @@ get_distribution_components() {
llvm-dlltool
llvm-dwarfdump
llvm-dwp
- llvm-elfabi
llvm-exegesis
llvm-extract
llvm-gsymutil
@@ -284,13 +283,16 @@ get_distribution_components() {
llvm-readobj
llvm-reduce
llvm-rtdyld
+ llvm-sim
llvm-size
llvm-split
llvm-stress
llvm-strings
llvm-strip
llvm-symbolizer
+ llvm-tapi-diff
llvm-undname
+ llvm-windres
llvm-xray
obj2yaml
opt
@@ -365,7 +367,7 @@ multilib_src_configure() {
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
# used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-DPython3_EXECUTABLE="${PYTHON}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-08-03 11:13 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-08-03 11:13 UTC (permalink / raw
To: gentoo-commits
commit: 4baa0cc39fa372e3934cf65629c004b737388d2d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 3 10:58:20 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 3 11:12:32 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4baa0cc3
sys-devel/llvm: Bump to 13.0.0rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-13.0.0_rc1.ebuild | 521 ++++++++++++++++++++++++++++++++++
2 files changed, 522 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 85db0214ebb..c5421190340 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,3 +11,4 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
+DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
diff --git a/sys-devel/llvm/llvm-13.0.0_rc1.ebuild b/sys-devel/llvm/llvm-13.0.0_rc1.ebuild
new file mode 100644
index 00000000000..ebe79aea74c
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0_rc1.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-08-04 4:53 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-08-04 4:53 UTC (permalink / raw
To: gentoo-commits
commit: 2997ec37f87afbeb1b9356e1d8f8b2d816b4106e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 4 04:52:25 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 4 04:52:52 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2997ec37
sys-devel/llvm: Stabilize 12.0.1 amd64, #804471
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 7c4592021a3..30f76066e2e 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-08-27 20:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-08-27 20:10 UTC (permalink / raw
To: gentoo-commits
commit: 69adac42c04f23456935480b439f6eaa28c54d62
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 27 07:32:36 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 27 20:09:56 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69adac42
sys-devel/llvm: Bump to 13.0.0rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-13.0.0_rc2.ebuild | 521 ++++++++++++++++++++++++++++++++++
2 files changed, 523 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c5421190340..17961d2f54e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,9 +6,11 @@ DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
+DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
diff --git a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
new file mode 100644
index 00000000000..cc9415e5e56
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=13.0.0-rc2
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-10 1:25 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-09-10 1:25 UTC (permalink / raw
To: gentoo-commits
commit: a1e667a56c2c45270d8bb9a1a7668862a05c175f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 10 01:25:13 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep 10 01:25:34 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1e667a5
sys-devel/llvm: Stabilize 12.0.1 arm64, #804471
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 30f76066e2e..07bd0273bb6 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-11 6:02 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-09-11 6:02 UTC (permalink / raw
To: gentoo-commits
commit: a5d25b15cab572e47cd87f7dcfa2445ef8e5d34f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 11 06:01:44 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 11 06:01:44 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5d25b15
sys-devel/llvm: Stabilize 12.0.1 x86, #804471
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 07bd0273bb6..55b1213903d 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-11 6:05 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-09-11 6:05 UTC (permalink / raw
To: gentoo-commits
commit: 56c477abdced4f404160e0585f383f73162a8f18
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 11 06:04:39 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 11 06:04:39 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56c477ab
sys-devel/llvm: Stabilize 12.0.1 ppc64, #804471
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 55b1213903d..d192613a8d3 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-11 6:06 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-09-11 6:06 UTC (permalink / raw
To: gentoo-commits
commit: fdd2ed8cd3908420471de856419c658b05a35d64
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 11 06:06:05 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 11 06:06:05 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdd2ed8c
sys-devel/llvm: Stabilize 12.0.1 arm, #804471
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index d192613a8d3..7eb8e4a7eb1 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-11 7:24 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-11 7:24 UTC (permalink / raw
To: gentoo-commits
commit: 031d241c3fae6d41d10387ca9a30474a207d7c32
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 11 07:16:56 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 11 07:17:44 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=031d241c
sys-devel/llvm: Remove 12.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-12.0.0.ebuild | 522 --------------------------------------
2 files changed, 525 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 17961d2f54e..b784f0ce521 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,16 +1,13 @@
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
-DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
-DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
-DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
diff --git a/sys-devel/llvm/llvm-12.0.0.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
deleted file mode 100644
index 7fe87fbbd13..00000000000
--- a/sys-devel/llvm/llvm-12.0.0.ebuild
+++ /dev/null
@@ -1,522 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=12.0.0-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-11 7:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-11 7:26 UTC (permalink / raw
To: gentoo-commits
commit: 0119d3cba6af1952bcc9383c5dfe1a058167d2e3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 11 07:25:25 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 11 07:25:25 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0119d3cb
sys-devel/llvm: Remove 13.0.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-13.0.0_rc1.ebuild | 521 ----------------------------------
2 files changed, 522 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b784f0ce521..837c26972af 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,5 +9,4 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
-DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
diff --git a/sys-devel/llvm/llvm-13.0.0_rc1.ebuild b/sys-devel/llvm/llvm-13.0.0_rc1.ebuild
deleted file mode 100644
index ebe79aea74c..00000000000
--- a/sys-devel/llvm/llvm-13.0.0_rc1.ebuild
+++ /dev/null
@@ -1,521 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-14 15:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-14 15:23 UTC (permalink / raw
To: gentoo-commits
commit: 4423ae4be8cf519205b1c18c428b9b9d72ab2cfe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 14 09:27:56 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 14 15:23:05 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4423ae4b
sys-devel/llvm: Bump to 13.0.0-rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-13.0.0_rc3.ebuild | 521 ++++++++++++++++++++++++++++++++++
2 files changed, 523 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 837c26972af..14eb822842a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,8 +5,10 @@ DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
+DIST llvm-gentoo-patchset-13.0.0-rc3.tar.xz 5012 BLAKE2B 5399feeffe73e8fbd099c8058f1cc41e2fcb2feb446acc1394589c0397167786895d328d45ff481fb30605f215774b9e51e332124c0b071e969a2f01c5943c04 SHA512 d4fb2b08e253d9fa89070045282b4309ca9938011bf7f9b5364cc69c5030ff9353abb1624895b4bfeef2cd8e2f8c9b9f93fc8196f98dc0970457bca7787270c9
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
+DIST llvmorg-13.0.0-rc3.tar.gz 147281901 BLAKE2B 640065a2f32dc48edf084d776cb6b950fae86c2a204999e2eec67f93b57615df40adec19785099b0ef2fe11837c3304794ec3585289a5b5051a557618c63c749 SHA512 1401d5a4d6bb5c930d74b9cfbc8e792872f721aab7d7f0c819e2ba5cf47fb818d160c1f71784fba69827f3c9b7414aa91a585d2b813c1851b4799f9d62cebc46
diff --git a/sys-devel/llvm/llvm-13.0.0_rc3.ebuild b/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
new file mode 100644
index 00000000000..56d24237427
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=13.0.0-rc3
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-20 13:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-20 13:41 UTC (permalink / raw
To: gentoo-commits
commit: 26a0e1837b030350ec638c3110fcbc2c2850e964
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 13 20:37:12 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 20 13:41:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26a0e183
sys-devel/llvm: Switch 13+ to new targets API
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 22 ++++++----------------
sys-devel/llvm/llvm-13.0.0_rc2.ebuild | 22 ++++++----------------
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 22 ++++++----------------
3 files changed, 18 insertions(+), 48 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index ebe79aea74c..84ccd0ebedb 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -10,14 +10,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
# 2. xxhash: BSD.
@@ -28,8 +20,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+ kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -68,6 +59,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
LLVM_PATCHSET=9999-1
+LLVM_USE_TARGETS=provide
llvm.org_set_globals
python_check_deps() {
@@ -92,8 +84,6 @@ check_live_ebuild() {
for i in "${all_targets[@]}"; do
has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
@@ -102,10 +92,10 @@ check_live_ebuild() {
eqawarn
fi
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
fi
}
diff --git a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
index cc9415e5e56..31f75d41c82 100644
--- a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
@@ -10,14 +10,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
# 2. xxhash: BSD.
@@ -28,8 +20,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+ kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -68,6 +59,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
LLVM_PATCHSET=13.0.0-rc2
+LLVM_USE_TARGETS=provide
llvm.org_set_globals
python_check_deps() {
@@ -92,8 +84,6 @@ check_live_ebuild() {
for i in "${all_targets[@]}"; do
has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
@@ -102,10 +92,10 @@ check_live_ebuild() {
eqawarn
fi
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
fi
}
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index ebe79aea74c..84ccd0ebedb 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -10,14 +10,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
# 2. xxhash: BSD.
@@ -28,8 +20,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+ kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -68,6 +59,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
LLVM_PATCHSET=9999-1
+LLVM_USE_TARGETS=provide
llvm.org_set_globals
python_check_deps() {
@@ -92,8 +84,6 @@ check_live_ebuild() {
for i in "${all_targets[@]}"; do
has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
@@ -102,10 +92,10 @@ check_live_ebuild() {
eqawarn
fi
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-21 7:54 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-21 7:54 UTC (permalink / raw
To: gentoo-commits
commit: f5af0b6799f05f41abe2fd89814ba29a56d1f78c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 21 06:51:07 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 21 07:54:19 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5af0b67
sys-devel/llvm: Forward port target changes to 13.0.0_rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0_rc3.ebuild | 22 ++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.0_rc3.ebuild b/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
index 56d24237427..6eaee99b46f 100644
--- a/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
@@ -10,14 +10,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
# Additional licenses:
# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
# 2. xxhash: BSD.
@@ -28,8 +20,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+ kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -68,6 +59,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
LLVM_PATCHSET=13.0.0-rc3
+LLVM_USE_TARGETS=provide
llvm.org_set_globals
python_check_deps() {
@@ -92,8 +84,6 @@ check_live_ebuild() {
for i in "${all_targets[@]}"; do
has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
@@ -102,10 +92,10 @@ check_live_ebuild() {
eqawarn
fi
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
fi
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-09-25 7:45 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-09-25 7:45 UTC (permalink / raw
To: gentoo-commits
commit: bd337401c91d4b5cfb369b19e8bbe847237d6146
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 25 07:01:54 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 25 07:45:24 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd337401
sys-devel/llvm: Bump to 13.0.0_rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-13.0.0_rc4.ebuild | 511 ++++++++++++++++++++++++++++++++++
2 files changed, 513 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 14eb822842a..f40f4233511 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,9 +6,11 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
DIST llvm-gentoo-patchset-13.0.0-rc3.tar.xz 5012 BLAKE2B 5399feeffe73e8fbd099c8058f1cc41e2fcb2feb446acc1394589c0397167786895d328d45ff481fb30605f215774b9e51e332124c0b071e969a2f01c5943c04 SHA512 d4fb2b08e253d9fa89070045282b4309ca9938011bf7f9b5364cc69c5030ff9353abb1624895b4bfeef2cd8e2f8c9b9f93fc8196f98dc0970457bca7787270c9
+DIST llvm-gentoo-patchset-13.0.0-rc4.tar.xz 5016 BLAKE2B 021ba4e67904e4cf4dfdf1ecfc1cd1cc860c2f43db97e04c40ca7d95567f6235a27a2a919083c58b89b269eefa2d751cb9c324bda6518c22e9fc01007936a520 SHA512 dce61179dffafc5992fb0e18314bba2d5fbf2f0470a491bc1ffc036274b65d0a1de741b23e2de32e873250c856a53707e06f8c560bd29f8a54a6ae0c74267f43
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
DIST llvmorg-13.0.0-rc3.tar.gz 147281901 BLAKE2B 640065a2f32dc48edf084d776cb6b950fae86c2a204999e2eec67f93b57615df40adec19785099b0ef2fe11837c3304794ec3585289a5b5051a557618c63c749 SHA512 1401d5a4d6bb5c930d74b9cfbc8e792872f721aab7d7f0c819e2ba5cf47fb818d160c1f71784fba69827f3c9b7414aa91a585d2b813c1851b4799f9d62cebc46
+DIST llvmorg-13.0.0-rc4.tar.gz 147286367 BLAKE2B a43c54b8bb379b0374f99ae07066d7ba4ae2a83dfdb61390101c736f91dc44aa07a88778551aaaf903033562b2a0a863ea6b27392b700c9cddc74e2c7899cad1 SHA512 8ccaaea21ec4fe3c4b4446d3a7cae36a47ed196f407d341da45824bcefefffd3c412c0c5c27670ceaba1458bc53107273f9d3aec2de261b6b82c6d209b45b14d
diff --git a/sys-devel/llvm/llvm-13.0.0_rc4.ebuild b/sys-devel/llvm/llvm-13.0.0_rc4.ebuild
new file mode 100644
index 00000000000..ee6e126425c
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0_rc4.ebuild
@@ -0,0 +1,511 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use gold && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-10-01 13:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-10-01 13:27 UTC (permalink / raw
To: gentoo-commits
commit: 4b8f66386764e2a90e013e25e26bf02acb2c3d1d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 1 12:37:29 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 1 13:27:14 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b8f6638
sys-devel/llvm: Remove 13.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 6 -
sys-devel/llvm/llvm-13.0.0_rc2.ebuild | 511 ----------------------------------
sys-devel/llvm/llvm-13.0.0_rc3.ebuild | 511 ----------------------------------
sys-devel/llvm/llvm-13.0.0_rc4.ebuild | 511 ----------------------------------
4 files changed, 1539 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 578c9305fe9..1049a69ff19 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,15 +5,9 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82
DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
-DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
-DIST llvm-gentoo-patchset-13.0.0-rc3.tar.xz 5012 BLAKE2B 5399feeffe73e8fbd099c8058f1cc41e2fcb2feb446acc1394589c0397167786895d328d45ff481fb30605f215774b9e51e332124c0b071e969a2f01c5943c04 SHA512 d4fb2b08e253d9fa89070045282b4309ca9938011bf7f9b5364cc69c5030ff9353abb1624895b4bfeef2cd8e2f8c9b9f93fc8196f98dc0970457bca7787270c9
-DIST llvm-gentoo-patchset-13.0.0-rc4.tar.xz 5016 BLAKE2B 021ba4e67904e4cf4dfdf1ecfc1cd1cc860c2f43db97e04c40ca7d95567f6235a27a2a919083c58b89b269eefa2d751cb9c324bda6518c22e9fc01007936a520 SHA512 dce61179dffafc5992fb0e18314bba2d5fbf2f0470a491bc1ffc036274b65d0a1de741b23e2de32e873250c856a53707e06f8c560bd29f8a54a6ae0c74267f43
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
-DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
-DIST llvmorg-13.0.0-rc3.tar.gz 147281901 BLAKE2B 640065a2f32dc48edf084d776cb6b950fae86c2a204999e2eec67f93b57615df40adec19785099b0ef2fe11837c3304794ec3585289a5b5051a557618c63c749 SHA512 1401d5a4d6bb5c930d74b9cfbc8e792872f721aab7d7f0c819e2ba5cf47fb818d160c1f71784fba69827f3c9b7414aa91a585d2b813c1851b4799f9d62cebc46
-DIST llvmorg-13.0.0-rc4.tar.gz 147286367 BLAKE2B a43c54b8bb379b0374f99ae07066d7ba4ae2a83dfdb61390101c736f91dc44aa07a88778551aaaf903033562b2a0a863ea6b27392b700c9cddc74e2c7899cad1 SHA512 8ccaaea21ec4fe3c4b4446d3a7cae36a47ed196f407d341da45824bcefefffd3c412c0c5c27670ceaba1458bc53107273f9d3aec2de261b6b82c6d209b45b14d
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
diff --git a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
deleted file mode 100644
index 31f75d41c82..00000000000
--- a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
+++ /dev/null
@@ -1,511 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=13.0.0-rc2
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-13.0.0_rc3.ebuild b/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
deleted file mode 100644
index 6eaee99b46f..00000000000
--- a/sys-devel/llvm/llvm-13.0.0_rc3.ebuild
+++ /dev/null
@@ -1,511 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=13.0.0-rc3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-13.0.0_rc4.ebuild b/sys-devel/llvm/llvm-13.0.0_rc4.ebuild
deleted file mode 100644
index ee6e126425c..00000000000
--- a/sys-devel/llvm/llvm-13.0.0_rc4.ebuild
+++ /dev/null
@@ -1,511 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-05 7:19 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-11-05 7:19 UTC (permalink / raw
To: gentoo-commits
commit: 8480447f6ca812caa88e1357e3efd921b9c91455
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 5 07:19:03 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 5 07:19:03 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8480447f
sys-devel/llvm: Stabilize 13.0.0 arm64, #821862
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index 0d80c618e3d..d35339716b8 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-05 19:16 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-11-05 19:16 UTC (permalink / raw
To: gentoo-commits
commit: 91e4fbed3c5bc4a63c1e71694db1f782cc57fbf0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 5 19:15:39 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 5 19:16:22 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91e4fbed
sys-devel/llvm: Stabilize 13.0.0 amd64, #821862
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index d77b1c7e0be..1668be8a2f9 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-05 20:07 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-11-05 20:07 UTC (permalink / raw
To: gentoo-commits
commit: d477d484b3a0cbe3220b5ff606bc30f8e64f86f9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 5 20:07:12 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 5 20:07:12 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d477d484
sys-devel/llvm: Stabilize 13.0.0 arm, #821862
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index 1668be8a2f9..b233b121c0b 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-06 16:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-06 16:51 UTC (permalink / raw
To: gentoo-commits
commit: d5146d4604f4bf79ce78853a315a6121c0545ebd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 6 14:59:22 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 6 16:51:51 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5146d46
sys-devel/llvm: Enable the linker plugin by default
Bug: https://bugs.gentoo.org/819036
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-10.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-11.1.0.ebuild | 2 +-
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-13.0.0.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index 3e8131297bc..a5a1b924a33 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -31,7 +31,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 86135d7d22d..33f5e0968ef 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -27,7 +27,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 7eb8e4a7eb1..be1a91f9655 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -27,7 +27,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index 84ccd0ebedb..a602eb65d6c 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index b233b121c0b..fa93e368990 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index 84ccd0ebedb..a602eb65d6c 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-06 16:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-06 16:51 UTC (permalink / raw
To: gentoo-commits
commit: 58a15c0dc8d47e96b69c98b8025be25f3c4022b5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 6 15:01:51 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 6 16:51:51 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58a15c0d
sys-devel/llvm: Rename USE={gold → binutils-plugin}
The plugin is now used by other binutils tools, and gold is no longer
really relevant these days.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.9999.ebuild | 18 +++++++++---------
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 18 +++++++++---------
sys-devel/llvm/metadata.xml | 3 ++-
3 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index a602eb65d6c..f0bbf680562 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -19,14 +19,14 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
+ z3 kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
@@ -34,7 +34,7 @@ RDEPEND="
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
+ binutils-plugin? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
>=dev-util/cmake-3.16
@@ -54,7 +54,7 @@ BDEPEND="
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
@@ -111,7 +111,7 @@ check_distribution_components() {
case ${l} in
# shared libs
- LLVM|LLVMgold)
+ LLVM|LLVMbinutils-plugin)
;;
# TableGen lib + deps
LLVMDemangle|LLVMSupport|LLVMTableGen)
@@ -308,8 +308,8 @@ get_distribution_components() {
docs-llvm-html
)
- use gold && out+=(
- LLVMgold
+ use binutils-plugin && out+=(
+ LLVMbinutils-plugin
)
fi
@@ -405,7 +405,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
)
- use gold && mycmakeargs+=(
+ use binutils-plugin && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
)
fi
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index a602eb65d6c..f0bbf680562 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -19,14 +19,14 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
+ z3 kernel_Darwin"
RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
@@ -34,7 +34,7 @@ RDEPEND="
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
+ binutils-plugin? ( sys-libs/binutils-libs )"
BDEPEND="
dev-lang/perl
>=dev-util/cmake-3.16
@@ -54,7 +54,7 @@ BDEPEND="
RDEPEND="${RDEPEND}
!sys-devel/llvm:0"
PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
@@ -111,7 +111,7 @@ check_distribution_components() {
case ${l} in
# shared libs
- LLVM|LLVMgold)
+ LLVM|LLVMbinutils-plugin)
;;
# TableGen lib + deps
LLVMDemangle|LLVMSupport|LLVMTableGen)
@@ -308,8 +308,8 @@ get_distribution_components() {
docs-llvm-html
)
- use gold && out+=(
- LLVMgold
+ use binutils-plugin && out+=(
+ LLVMbinutils-plugin
)
fi
@@ -405,7 +405,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_DOXYGEN=OFF
-DLLVM_INSTALL_UTILS=ON
)
- use gold && mycmakeargs+=(
+ use binutils-plugin && mycmakeargs+=(
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
)
fi
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index b08267bacf7..c10c45dd8f2 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -10,10 +10,11 @@
3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
<use>
+ <flag name="binutils-plugin">Build the binutils plugin</flag>
<flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
<flag name="exegesis">Enable performance counter support for llvm-exegesis tool
that can be used to measure host machine instruction characteristics</flag>
- <flag name="gold">Build the gold linker plugin</flag>
+ <flag name="gold">Build the binutils plugin</flag>
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
<flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
(uses <pkg>app-arch/xar</pkg>)</flag>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-08 11:25 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-08 11:25 UTC (permalink / raw
To: gentoo-commits
commit: b0bb4186679711a89c4c8b336ca85dcf3073ea80
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 8 11:04:29 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Nov 8 11:25:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0bb4186
sys-devel/llvm: Remove 10*
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-10.0.1.ebuild | 476 --------------------------------------
2 files changed, 479 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1049a69ff19..397f63350ab 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,13 +1,10 @@
-DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0
-DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
-DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
deleted file mode 100644
index a5a1b924a33..00000000000
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ /dev/null
@@ -1,476 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=10.0.1-3
-llvm.org_set_globals
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # manpages don't use markdown
- if ! use doc; then
- sed -i -e '/source_parsers/d' docs/conf.py || die
- fi
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_src_compile
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-13 8:21 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2021-11-13 8:21 UTC (permalink / raw
To: gentoo-commits
commit: b41e12dedb55e1ec5456159c608d132d46b8ddbb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 13 08:21:11 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 13 08:21:11 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b41e12de
sys-devel/llvm: Stabilize 13.0.0 x86, #821862
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index fa93e368990..4b33fd90585 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
kernel_Darwin"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-30 9:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-30 9:38 UTC (permalink / raw
To: gentoo-commits
commit: 295207398ad282335983b539f9a81321813bd447
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 30 09:37:57 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 30 09:37:57 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29520739
sys-devel/llvm: 13.x branch is now 13.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-13.0.0.9999.ebuild => llvm-13.0.1.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-13.0.0.9999.ebuild
rename to sys-devel/llvm/llvm-13.0.1.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-30 10:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-30 10:01 UTC (permalink / raw
To: gentoo-commits
commit: 24d8d11894ce0797cfb26e7fe0a7c290884d8d12
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 30 09:44:38 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 30 10:01:13 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24d8d118
sys-devel/llvm: Bump to 13.0.1_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-13.0.1_rc1.ebuild | 511 ++++++++++++++++++++++++++++++++++
2 files changed, 513 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 397f63350ab4..611dc80a5a82 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,7 +4,9 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
+DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
diff --git a/sys-devel/llvm/llvm-13.0.1_rc1.ebuild b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..16dc1da25def
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
@@ -0,0 +1,511 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
+ z3 kernel_Darwin"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-11-30 10:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-11-30 10:01 UTC (permalink / raw
To: gentoo-commits
commit: 6e59d53b3985968b931ade23b54d85b28b3d97a7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 30 09:47:20 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 30 10:01:26 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e59d53b
sys-devel/llvm: Fix accidentally sed-ed LLVMgold target name
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.9999.ebuild | 4 ++--
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
index f0bbf6805620..a12b04fb2138 100644
--- a/sys-devel/llvm/llvm-13.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
@@ -111,7 +111,7 @@ check_distribution_components() {
case ${l} in
# shared libs
- LLVM|LLVMbinutils-plugin)
+ LLVM|LLVMgold)
;;
# TableGen lib + deps
LLVMDemangle|LLVMSupport|LLVMTableGen)
@@ -309,7 +309,7 @@ get_distribution_components() {
)
use binutils-plugin && out+=(
- LLVMbinutils-plugin
+ LLVMgold
)
fi
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index f0bbf6805620..a12b04fb2138 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -111,7 +111,7 @@ check_distribution_components() {
case ${l} in
# shared libs
- LLVM|LLVMbinutils-plugin)
+ LLVM|LLVMgold)
;;
# TableGen lib + deps
LLVMDemangle|LLVMSupport|LLVMTableGen)
@@ -309,7 +309,7 @@ get_distribution_components() {
)
use binutils-plugin && out+=(
- LLVMbinutils-plugin
+ LLVMgold
)
fi
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2021-12-11 16:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2021-12-11 16:12 UTC (permalink / raw
To: gentoo-commits
commit: 1598880b230cbbb3a964ca6ca69db0a40ce968c6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 11 11:29:29 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 11 16:12:12 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1598880b
sys-devel/llvm: Include third-party directory in the checkout
Closes: https://bugs.gentoo.org/828601
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index a12b04fb2138..85c62d774844 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -56,7 +56,7 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-LLVM_COMPONENTS=( llvm )
+LLVM_COMPONENTS=( llvm third-party )
LLVM_MANPAGES=build
LLVM_PATCHSET=9999-1
LLVM_USE_TARGETS=provide
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-01-04 13:18 David Seifert
0 siblings, 0 replies; 860+ messages in thread
From: David Seifert @ 2022-01-04 13:18 UTC (permalink / raw
To: gentoo-commits
commit: 41f87dcf7f82c3c9688ad50894bd7ff5a08b7f97
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 4 13:16:46 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Jan 4 13:16:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41f87dcf
sys-devel/llvm: remove implicit kernel_Darwin
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-devel/llvm/llvm-11.1.0.ebuild | 3 +--
sys-devel/llvm/llvm-12.0.1.ebuild | 5 ++---
sys-devel/llvm/llvm-13.0.0.ebuild | 5 ++---
sys-devel/llvm/llvm-13.0.1.9999.ebuild | 5 ++---
sys-devel/llvm/llvm-13.0.1_rc1.ebuild | 5 ++---
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 5 ++---
6 files changed, 11 insertions(+), 17 deletions(-)
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 33f5e0968efe..aa2dcac73291 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -27,8 +27,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3 ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index be1a91f9655c..673ce8591884 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,8 +27,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3 ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
index 4b33fd905852..9f6396c849a1 100644
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,8 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin"
+IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-13.0.1.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
index a12b04fb2138..789047901490 100644
--- a/sys-devel/llvm/llvm-13.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,8 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
- z3 kernel_Darwin"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-13.0.1_rc1.ebuild b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
index 16dc1da25def..f5d3be283708 100644
--- a/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,8 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
- z3 kernel_Darwin"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
index 85c62d774844..f89b54bbb6c4 100644
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,8 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml
- z3 kernel_Darwin"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-01-13 12:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-01-13 12:06 UTC (permalink / raw
To: gentoo-commits
commit: 50a2f159abb07c38bdff722f212fb440d70ebd54
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 13 08:27:34 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 13 12:06:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a2f159
sys-devel/llvm: Bump to 13.0.1_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-13.0.1_rc2.ebuild | 510 ++++++++++++++++++++++++++++++++++
2 files changed, 512 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 611dc80a5a82..357ee720db72 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,8 +5,10 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
+DIST llvm-gentoo-patchset-13.0.1-rc2.tar.xz 5192 BLAKE2B 4a129a3d0b7c1839d79c814ea57602f5e87aadb9050fc8e91868d2c3773ff7ae8e2137f785deeded6925a4368220767526c95790c9883f2031edc3ebae25b13c SHA512 2f384281d06f5378f7d1b2f036958c7db00d1c4d799406fd188fa8388f0cf18279dae36f2fb37bff26daa91419ab1bc1c2390be0f3af42359f1aef8de81b6ac8
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
+DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f
diff --git a/sys-devel/llvm/llvm-13.0.1_rc2.ebuild b/sys-devel/llvm/llvm-13.0.1_rc2.ebuild
new file mode 100644
index 000000000000..f5d3be283708
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.1_rc2.ebuild
@@ -0,0 +1,510 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-01-21 15:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-01-21 15:37 UTC (permalink / raw
To: gentoo-commits
commit: 2bbd32200697319a5b6f1d925d91a9f5b7f4d511
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 21 12:15:51 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 21 15:37:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bbd3220
sys-devel/llvm: Remove 13.0.1-rc{1,2}
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 4 -
sys-devel/llvm/llvm-13.0.1_rc1.ebuild | 510 ----------------------------------
sys-devel/llvm/llvm-13.0.1_rc2.ebuild | 510 ----------------------------------
3 files changed, 1024 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index cd1ed39f8572..713e89cfe95b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,13 +4,9 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
-DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
-DIST llvm-gentoo-patchset-13.0.1-rc2.tar.xz 5192 BLAKE2B 4a129a3d0b7c1839d79c814ea57602f5e87aadb9050fc8e91868d2c3773ff7ae8e2137f785deeded6925a4368220767526c95790c9883f2031edc3ebae25b13c SHA512 2f384281d06f5378f7d1b2f036958c7db00d1c4d799406fd188fa8388f0cf18279dae36f2fb37bff26daa91419ab1bc1c2390be0f3af42359f1aef8de81b6ac8
DIST llvm-gentoo-patchset-13.0.1-rc3.tar.xz 4808 BLAKE2B d8ed3ae424914437413e2e8c029880072e93d79ca79b842ad59451df46594c9b0d73ee5d49d3b65c4c7a40c86b2e0d43501ef106aea7c481f22425a5245a3411 SHA512 10430a720b120a340a681fa435a7f050741c75270607e3f5214bf829313d274c11f019f1ac072857dc5d7f868e6eb013932d1c94446e8cb2e151ac818a081914
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
-DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
-DIST llvmorg-13.0.1-rc2.tar.gz 147304491 BLAKE2B 86b2c64e57e4aaab837229b25a95d5517ac077d22cf552d71ff6b996dbdbcd171ad51de7eb12d098b50a139beda4ace843727181a1c6978fc487215391e64a3a SHA512 0d890f3317504c8cef10e118b245e5a4c815cc19f07cbc511a66bde6c9b1f3d15c167942608a8987befe9115b24657d29f72305f9f2794385a7434b80167f40f
DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1
diff --git a/sys-devel/llvm/llvm-13.0.1_rc1.ebuild b/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
deleted file mode 100644
index f5d3be283708..000000000000
--- a/sys-devel/llvm/llvm-13.0.1_rc1.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-13.0.1_rc2.ebuild b/sys-devel/llvm/llvm-13.0.1_rc2.ebuild
deleted file mode 100644
index f5d3be283708..000000000000
--- a/sys-devel/llvm/llvm-13.0.1_rc2.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-02 21:16 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-02 21:16 UTC (permalink / raw
To: gentoo-commits
commit: 6a5faab6829aa8a6d7c4d0d1d3951c7c2afb92f4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 2 16:44:55 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 2 21:16:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a5faab6
sys-devel/llvm: Remove 13.0.1_rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-13.0.1_rc3.ebuild | 510 ----------------------------------
2 files changed, 512 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 7268ccaaf0e8..bd04d41eb0d3 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,11 +4,9 @@ DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
-DIST llvm-gentoo-patchset-13.0.1-rc3.tar.xz 4808 BLAKE2B d8ed3ae424914437413e2e8c029880072e93d79ca79b842ad59451df46594c9b0d73ee5d49d3b65c4c7a40c86b2e0d43501ef106aea7c481f22425a5245a3411 SHA512 10430a720b120a340a681fa435a7f050741c75270607e3f5214bf829313d274c11f019f1ac072857dc5d7f868e6eb013932d1c94446e8cb2e151ac818a081914
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
-DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-13.0.1_rc3.ebuild b/sys-devel/llvm/llvm-13.0.1_rc3.ebuild
deleted file mode 100644
index f5d3be283708..000000000000
--- a/sys-devel/llvm/llvm-13.0.1_rc3.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-02 21:16 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-02 21:16 UTC (permalink / raw
To: gentoo-commits
commit: d061aa02281c15b67484f92f857c37a7f0340d6a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 2 20:52:55 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 2 21:16:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d061aa02
sys-devel/llvm: Use pregenerated manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index bd04d41eb0d3..8a88c92ac846 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0
+DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 7e17fd1c90b3..e3d0a6379b93 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -56,7 +56,7 @@ PDEPEND="sys-devel/llvm-common
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
LLVM_PATCHSET=${PV/_/-}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-03 15:45 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-03 15:45 UTC (permalink / raw
To: gentoo-commits
commit: 839a25431367f6507ebc5cc5c710463dad1f1325
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 3 15:39:26 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 3 15:44:12 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=839a2543
sys-devel/llvm: Remove 13.0.1.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.9999.ebuild | 510 ---------------------------------
1 file changed, 510 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild
deleted file mode 100644
index 789047901490..000000000000
--- a/sys-devel/llvm/llvm-13.0.1.9999.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-06 15:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-06 15:35 UTC (permalink / raw
To: gentoo-commits
commit: c1a5bd26b93619deded98d0f046a05888d190ba1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 6 15:16:38 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 6 15:34:17 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1a5bd26
sys-devel/llvm: Add 15.x live ebuild
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 515 +++++++++++++++++++++++++++++++++
1 file changed, 515 insertions(+)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
new file mode 100644
index 000000000000..71fdfeea8b60
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-09 13:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-09 13:02 UTC (permalink / raw
To: gentoo-commits
commit: d6f16af28695d34fe6b7d660f42218d8e8a6e8cc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 9 09:48:43 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 9 13:01:54 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6f16af2
sys-devel/llvm: Bump to 14.0.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.0_rc1.ebuild | 515 ++++++++++++++++++++++++++++++++++
2 files changed, 516 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3bc37f560127..e2654ed00d36 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,3 +11,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
+DIST llvmorg-14.0.0-rc1.tar.gz 158019694 BLAKE2B c0494bfa5cc92be73d2a2736ce04a1ce11003aba477393639a6fc1b4114bb604ddd1929f288f831997693d2d3d7feb9eb7aa4bc1a2eb60d4b01777314ab90973 SHA512 62aac6a033ef0e321aef5060dcc61eb721b115a9cc1b7570497f72183d9e70a66b5910e90df14428bf56d33a44d4582c919e19f4477c0cfb3209e249b53fe534
diff --git a/sys-devel/llvm/llvm-14.0.0_rc1.ebuild b/sys-devel/llvm/llvm-14.0.0_rc1.ebuild
new file mode 100644
index 000000000000..71fdfeea8b60
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.0_rc1.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-02-10 22:54 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-02-10 22:54 UTC (permalink / raw
To: gentoo-commits
commit: ef21ae460b745bd976b6badcc3f9bb06b3a3a572
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 10 15:24:53 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 10 22:54:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef21ae46
sys-devel/llvm: Update components for 15+
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index 71fdfeea8b60..98e506114f39 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -272,6 +272,7 @@ get_distribution_components() {
llvm-readelf
llvm-readobj
llvm-reduce
+ llvm-remark-size-diff
llvm-rtdyld
llvm-sim
llvm-size
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-02 9:09 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-02 9:09 UTC (permalink / raw
To: gentoo-commits
commit: 652365e89cf1b18bf7a435bb3f71fc68d4ccef15
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 2 09:02:24 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 2 09:08:54 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=652365e8
sys-devel/llvm: Bump to 14.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.0_rc2.ebuild | 515 ++++++++++++++++++++++++++++++++++
2 files changed, 516 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index e2654ed00d36..8c06595e2254 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -12,3 +12,4 @@ DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f6
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.0-rc1.tar.gz 158019694 BLAKE2B c0494bfa5cc92be73d2a2736ce04a1ce11003aba477393639a6fc1b4114bb604ddd1929f288f831997693d2d3d7feb9eb7aa4bc1a2eb60d4b01777314ab90973 SHA512 62aac6a033ef0e321aef5060dcc61eb721b115a9cc1b7570497f72183d9e70a66b5910e90df14428bf56d33a44d4582c919e19f4477c0cfb3209e249b53fe534
+DIST llvmorg-14.0.0-rc2.tar.gz 158069989 BLAKE2B 06dcf5d82cd100bd792eadb3816cb297a11dc64dc8b699ccb2eac8ef0da4f10a24ba1984376427b638def6c8c8ae5bc9562e1cc30281fc55f044aa2a9657fc81 SHA512 c77d8c6db2ee6536f7e980465d5a3eb34403c6529e2012a4778ce76a559a6d639cf4c5ec84f965287d4b0739a73dc3e65d7deb27815d74c35e823839e579d2a3
diff --git a/sys-devel/llvm/llvm-14.0.0_rc2.ebuild b/sys-devel/llvm/llvm-14.0.0_rc2.ebuild
new file mode 100644
index 000000000000..71fdfeea8b60
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.0_rc2.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-06 16:06 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-06 16:06 UTC (permalink / raw
To: gentoo-commits
commit: 6994a20f0afd9792e912cde2dfa18eafebc4ede9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 6 16:05:52 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Mar 6 16:05:52 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6994a20f
sys-devel/llvm: Remove 14.0.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-14.0.0_rc1.ebuild | 515 ----------------------------------
2 files changed, 516 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8c06595e2254..ab99e0f8a336 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,5 +11,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.0-rc1.tar.gz 158019694 BLAKE2B c0494bfa5cc92be73d2a2736ce04a1ce11003aba477393639a6fc1b4114bb604ddd1929f288f831997693d2d3d7feb9eb7aa4bc1a2eb60d4b01777314ab90973 SHA512 62aac6a033ef0e321aef5060dcc61eb721b115a9cc1b7570497f72183d9e70a66b5910e90df14428bf56d33a44d4582c919e19f4477c0cfb3209e249b53fe534
DIST llvmorg-14.0.0-rc2.tar.gz 158069989 BLAKE2B 06dcf5d82cd100bd792eadb3816cb297a11dc64dc8b699ccb2eac8ef0da4f10a24ba1984376427b638def6c8c8ae5bc9562e1cc30281fc55f044aa2a9657fc81 SHA512 c77d8c6db2ee6536f7e980465d5a3eb34403c6529e2012a4778ce76a559a6d639cf4c5ec84f965287d4b0739a73dc3e65d7deb27815d74c35e823839e579d2a3
diff --git a/sys-devel/llvm/llvm-14.0.0_rc1.ebuild b/sys-devel/llvm/llvm-14.0.0_rc1.ebuild
deleted file mode 100644
index 71fdfeea8b60..000000000000
--- a/sys-devel/llvm/llvm-14.0.0_rc1.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-07 2:00 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-03-07 2:00 UTC (permalink / raw
To: gentoo-commits
commit: a46f6f8948efe65daf5aac009c9fc349e01f8e90
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 7 01:59:08 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 7 01:59:08 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a46f6f89
sys-devel/llvm: Stabilize 13.0.1 amd64, #833209
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index e3d0a6379b93..ea84ad674feb 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-10 23:53 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-03-10 23:53 UTC (permalink / raw
To: gentoo-commits
commit: 11479063708dcc96f97123e89e46a55ff0163619
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 10 23:52:46 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 10 23:52:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11479063
sys-devel/llvm: Stabilize 13.0.1 arm, #833209
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index b5caff083a7f..8fa41ea276d7 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-12 9:20 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-12 9:20 UTC (permalink / raw
To: gentoo-commits
commit: bbe017efebb39b344e890368577e75d9932a454b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 12 09:18:01 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 12 09:18:01 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbe017ef
sys-devel/llvm: Bump to 14.0.0_rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.0_rc4.ebuild | 515 ++++++++++++++++++++++++++++++++++
2 files changed, 516 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index ab99e0f8a336..28363f4c76bb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -12,3 +12,4 @@ DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f6
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.0-rc2.tar.gz 158069989 BLAKE2B 06dcf5d82cd100bd792eadb3816cb297a11dc64dc8b699ccb2eac8ef0da4f10a24ba1984376427b638def6c8c8ae5bc9562e1cc30281fc55f044aa2a9657fc81 SHA512 c77d8c6db2ee6536f7e980465d5a3eb34403c6529e2012a4778ce76a559a6d639cf4c5ec84f965287d4b0739a73dc3e65d7deb27815d74c35e823839e579d2a3
+DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc
diff --git a/sys-devel/llvm/llvm-14.0.0_rc4.ebuild b/sys-devel/llvm/llvm-14.0.0_rc4.ebuild
new file mode 100644
index 000000000000..71fdfeea8b60
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.0_rc4.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-14 15:22 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-14 15:22 UTC (permalink / raw
To: gentoo-commits
commit: 6dc3e6af9ef210cb4f4247638ea7105601edd2ad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 15:21:41 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 15:21:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6dc3e6af
sys-devel/llvm: Remove 14.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-14.0.0_rc2.ebuild | 515 ----------------------------------
2 files changed, 516 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 28363f4c76bb..55404dfb0bbd 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,5 +11,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.0-rc2.tar.gz 158069989 BLAKE2B 06dcf5d82cd100bd792eadb3816cb297a11dc64dc8b699ccb2eac8ef0da4f10a24ba1984376427b638def6c8c8ae5bc9562e1cc30281fc55f044aa2a9657fc81 SHA512 c77d8c6db2ee6536f7e980465d5a3eb34403c6529e2012a4778ce76a559a6d639cf4c5ec84f965287d4b0739a73dc3e65d7deb27815d74c35e823839e579d2a3
DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc
diff --git a/sys-devel/llvm/llvm-14.0.0_rc2.ebuild b/sys-devel/llvm/llvm-14.0.0_rc2.ebuild
deleted file mode 100644
index 71fdfeea8b60..000000000000
--- a/sys-devel/llvm/llvm-14.0.0_rc2.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-23 13:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-23 13:00 UTC (permalink / raw
To: gentoo-commits
commit: 3ace05395eeb872168ef9c26f760766ee191d619
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 23 09:11:01 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 23 12:59:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ace0539
sys-devel/llvm: Bump to 14.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-14.0.0.ebuild | 515 ++++++++++++++++++++++++++++++++++++++
2 files changed, 517 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 55404dfb0bbd..fdc8b3035c4b 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,9 +6,11 @@ DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11f
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
+DIST llvm-gentoo-patchset-14.0.0.tar.xz 4076 BLAKE2B dc114e53fb878ca74489c420506b9dd9c417e2b97dff4d9441d78a0a256ca1e7243ea2ce38b8665d37b0f24436f9ea5771cd05d9b13887e7370a19ec5e05ba20 SHA512 7f7d08fc762d634692fb251a51c0d73a4a9098907f25451b9ca9453315b603331b65a454b2d631cfecbb3fbc11ab3a36f644c0d7b03e1bb8e96ce4aa08d60615
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc
+DIST llvmorg-14.0.0.tar.gz 158057350 BLAKE2B 7052684c620a5eaf52beeee4591adf58cfec9e64a5ee0b24f3d5849fd4df5b006e2906a839cb806ac69c33fab6013c58589b1d74e4fb8558758edcb7d5065064 SHA512 eb5acf96b5e2c59bd07579f7ebe73018b0dd6e2f2d9a5a3c7986320e88febd837d1084b9e5313a2264310342193044629d228337cc76dd2b8527dc0a8bdda999
diff --git a/sys-devel/llvm/llvm-14.0.0.ebuild b/sys-devel/llvm/llvm-14.0.0.ebuild
new file mode 100644
index 000000000000..0cfe1dae09a3
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.0.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-23 13:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-23 13:00 UTC (permalink / raw
To: gentoo-commits
commit: 38a6af646797037504e27755c18b4e774fe27697
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 23 12:59:22 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 23 12:59:53 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38a6af64
sys-devel/llvm: Switch to pregenerated mans
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.0.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index fdc8b3035c4b..e42ac9681f90 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,6 +2,7 @@ DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
+DIST llvm-14.0.0-manpages.tar.bz2 214111 BLAKE2B b35672d5a33b02ed5935352bf7a9094655a58bdb698b09277016751f5b80248624c254d6116756436017971bb78ee6acedea9ce5d8218dafeffb901ef7ac5c62 SHA512 cd84772d7ec277d0a6c58baf82e524d64a246816df018e99d8db34ec49dcf4c79cc4ce3b99daaa23ca58b837c42848dc779039ea47b783aa0e6675f33ea7256d
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
diff --git a/sys-devel/llvm/llvm-14.0.0.ebuild b/sys-devel/llvm/llvm-14.0.0.ebuild
index 0cfe1dae09a3..ad7af21fcfc5 100644
--- a/sys-devel/llvm/llvm-14.0.0.ebuild
+++ b/sys-devel/llvm/llvm-14.0.0.ebuild
@@ -56,7 +56,7 @@ PDEPEND="sys-devel/llvm-common
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
LLVM_PATCHSET=${PV/_/-}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-03-23 13:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-03-23 13:01 UTC (permalink / raw
To: gentoo-commits
commit: fb461ede0c7741b23c6bbd5c785efc6db3bc47e6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 23 13:01:20 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 23 13:01:20 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb461ede
sys-devel/llvm: Remove 14.0.0_rc4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-14.0.0_rc4.ebuild | 515 ----------------------------------
2 files changed, 516 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index e42ac9681f90..304fe2fe426f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -13,5 +13,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc
DIST llvmorg-14.0.0.tar.gz 158057350 BLAKE2B 7052684c620a5eaf52beeee4591adf58cfec9e64a5ee0b24f3d5849fd4df5b006e2906a839cb806ac69c33fab6013c58589b1d74e4fb8558758edcb7d5065064 SHA512 eb5acf96b5e2c59bd07579f7ebe73018b0dd6e2f2d9a5a3c7986320e88febd837d1084b9e5313a2264310342193044629d228337cc76dd2b8527dc0a8bdda999
diff --git a/sys-devel/llvm/llvm-14.0.0_rc4.ebuild b/sys-devel/llvm/llvm-14.0.0_rc4.ebuild
deleted file mode 100644
index 71fdfeea8b60..000000000000
--- a/sys-devel/llvm/llvm-14.0.0_rc4.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-01 7:11 Arthur Zamarin
0 siblings, 0 replies; 860+ messages in thread
From: Arthur Zamarin @ 2022-04-01 7:11 UTC (permalink / raw
To: gentoo-commits
commit: ee15f8d551e9723f8342855bbe35790087a7c3d6
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 1 07:10:39 2022 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 1 07:10:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee15f8d5
sys-devel/llvm: Stabilize 13.0.1 ppc64, #833209
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 8fa41ea276d7..e39931e4d323 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-13 21:43 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-04-13 21:43 UTC (permalink / raw
To: gentoo-commits
commit: b2518d9741648be16f7bcd782790667bde2d4cb2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 20:20:31 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 21:42:49 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2518d97
sys-devel/llvm: Bump to 14.0.1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-14.0.1.ebuild | 515 ++++++++++++++++++++++++++++++++++++++
2 files changed, 518 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 304fe2fe426f..9ca516447067 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,14 +3,17 @@ DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51ae
DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.0-manpages.tar.bz2 214111 BLAKE2B b35672d5a33b02ed5935352bf7a9094655a58bdb698b09277016751f5b80248624c254d6116756436017971bb78ee6acedea9ce5d8218dafeffb901ef7ac5c62 SHA512 cd84772d7ec277d0a6c58baf82e524d64a246816df018e99d8db34ec49dcf4c79cc4ce3b99daaa23ca58b837c42848dc779039ea47b783aa0e6675f33ea7256d
+DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.0.tar.xz 4076 BLAKE2B dc114e53fb878ca74489c420506b9dd9c417e2b97dff4d9441d78a0a256ca1e7243ea2ce38b8665d37b0f24436f9ea5771cd05d9b13887e7370a19ec5e05ba20 SHA512 7f7d08fc762d634692fb251a51c0d73a4a9098907f25451b9ca9453315b603331b65a454b2d631cfecbb3fbc11ab3a36f644c0d7b03e1bb8e96ce4aa08d60615
+DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.0.tar.gz 158057350 BLAKE2B 7052684c620a5eaf52beeee4591adf58cfec9e64a5ee0b24f3d5849fd4df5b006e2906a839cb806ac69c33fab6013c58589b1d74e4fb8558758edcb7d5065064 SHA512 eb5acf96b5e2c59bd07579f7ebe73018b0dd6e2f2d9a5a3c7986320e88febd837d1084b9e5313a2264310342193044629d228337cc76dd2b8527dc0a8bdda999
+DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-14.0.1.ebuild
new file mode 100644
index 000000000000..4dc52f40515c
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.1.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=14.0.1
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-13 23:10 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-04-13 23:10 UTC (permalink / raw
To: gentoo-commits
commit: c0b1b0ae8eda238061227f566a5c0f14b82b910f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 23:10:18 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 23:10:18 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0b1b0ae
sys-devel/llvm: Remove 14.0.0.9999
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.0.9999.ebuild | 515 ---------------------------------
1 file changed, 515 deletions(-)
diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild
deleted file mode 100644
index 71fdfeea8b60..000000000000
--- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-15 0:03 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-04-15 0:03 UTC (permalink / raw
To: gentoo-commits
commit: 34239a9bf01adc36b1a46f5a1bb585099d052836
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 14 23:54:22 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 14 23:54:22 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34239a9b
sys-devel/llvm: keyword 14.0.1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-14.0.1.ebuild
index 4dc52f40515c..0da9cd7b6b75 100644
--- a/sys-devel/llvm/llvm-14.0.1.ebuild
+++ b/sys-devel/llvm/llvm-14.0.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-21 16:36 Jakov Smolić
0 siblings, 0 replies; 860+ messages in thread
From: Jakov Smolić @ 2022-04-21 16:36 UTC (permalink / raw
To: gentoo-commits
commit: 3fc71767a3e930b4924e3c0c7700adbbda852626
Author: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 21 16:36:04 2022 +0000
Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 16:36:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fc71767
sys-devel/llvm: Stabilize 13.0.1 x86, #833209
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index e39931e4d323..a11941642024 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-21 19:31 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-04-21 19:31 UTC (permalink / raw
To: gentoo-commits
commit: ae201fb46bbd6b09c14bdae49d674733168d4e0c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 21 19:29:19 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 19:31:18 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae201fb4
sys-devel/llvm: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 6 -
sys-devel/llvm/llvm-13.0.0.ebuild | 510 -------------------------------------
sys-devel/llvm/llvm-14.0.0.ebuild | 515 --------------------------------------
3 files changed, 1031 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 9ca516447067..fa54c3050626 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,19 +1,13 @@
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
-DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
-DIST llvm-14.0.0-manpages.tar.bz2 214111 BLAKE2B b35672d5a33b02ed5935352bf7a9094655a58bdb698b09277016751f5b80248624c254d6116756436017971bb78ee6acedea9ce5d8218dafeffb901ef7ac5c62 SHA512 cd84772d7ec277d0a6c58baf82e524d64a246816df018e99d8db34ec49dcf4c79cc4ce3b99daaa23ca58b837c42848dc779039ea47b783aa0e6675f33ea7256d
DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
-DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
-DIST llvm-gentoo-patchset-14.0.0.tar.xz 4076 BLAKE2B dc114e53fb878ca74489c420506b9dd9c417e2b97dff4d9441d78a0a256ca1e7243ea2ce38b8665d37b0f24436f9ea5771cd05d9b13887e7370a19ec5e05ba20 SHA512 7f7d08fc762d634692fb251a51c0d73a4a9098907f25451b9ca9453315b603331b65a454b2d631cfecbb3fbc11ab3a36f644c0d7b03e1bb8e96ce4aa08d60615
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
-DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.0.tar.gz 158057350 BLAKE2B 7052684c620a5eaf52beeee4591adf58cfec9e64a5ee0b24f3d5849fd4df5b006e2906a839cb806ac69c33fab6013c58589b1d74e4fb8558758edcb7d5065064 SHA512 eb5acf96b5e2c59bd07579f7ebe73018b0dd6e2f2d9a5a3c7986320e88febd837d1084b9e5313a2264310342193044629d228337cc76dd2b8527dc0a8bdda999
DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
diff --git a/sys-devel/llvm/llvm-13.0.0.ebuild b/sys-devel/llvm/llvm-13.0.0.ebuild
deleted file mode 100644
index 9f6396c849a1..000000000000
--- a/sys-devel/llvm/llvm-13.0.0.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-14.0.0.ebuild b/sys-devel/llvm/llvm-14.0.0.ebuild
deleted file mode 100644
index ad7af21fcfc5..000000000000
--- a/sys-devel/llvm/llvm-14.0.0.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-24 14:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-04-24 14:41 UTC (permalink / raw
To: gentoo-commits
commit: 0af9ff621404e2dc7eb664a098a005006e844386
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 24 13:47:17 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Apr 24 14:40:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0af9ff62
sys-devel/llvm: Remove LLVM 11
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-11.1.0.ebuild | 512 --------------------------------------
2 files changed, 515 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index fa54c3050626..3f54567b2964 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,13 +1,10 @@
-DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
-DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
-DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
deleted file mode 100644
index aa2dcac73291..000000000000
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3 ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
-LLVM_PATCHSET=11.1.0-1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-lib
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-27 12:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-04-27 12:27 UTC (permalink / raw
To: gentoo-commits
commit: 2ddf3651bc4415afa4c22c5d66367270bca10ff3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 27 08:35:00 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 27 12:26:52 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ddf3651
sys-devel/llvm: Modernize
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index 98e506114f39..8d3abaa4540a 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
@@ -31,10 +31,14 @@ RDEPEND="
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
BDEPEND="
+ ${PYTHON_DEPS}
dev-lang/perl
>=dev-util/cmake-3.16
sys-devel/gnuconfig
@@ -47,13 +51,17 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
+"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
LLVM_COMPONENTS=( llvm cmake third-party )
LLVM_MANPAGES=build
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-04-30 9:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-04-30 9:35 UTC (permalink / raw
To: gentoo-commits
commit: 23b9d88e90b6544317ccebd1ad826d0ff3a975d0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 30 09:18:22 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 30 09:35:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23b9d88e
sys-devel/llvm: Switch to pregen manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.3.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 13d034107fbe..66777bb6008e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
+DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-14.0.3.ebuild
index 11e22e11975f..360436b21ec4 100644
--- a/sys-devel/llvm/llvm-14.0.3.ebuild
+++ b/sys-devel/llvm/llvm-14.0.3.ebuild
@@ -64,7 +64,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
LLVM_PATCHSET=${PV}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-05-25 14:16 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-05-25 14:16 UTC (permalink / raw
To: gentoo-commits
commit: e35fc3ce09844c02d6dbd9e3a573087ca57b888c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 25 09:42:18 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 25 14:16:22 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e35fc3ce
sys-devel/llvm: Add missing test dep on sys-apps/which (sic!)
(already removed from main branch)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 3 +++
sys-devel/llvm/llvm-14.0.3.ebuild | 3 +++
2 files changed, 6 insertions(+)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index a11941642024..904a60b5e8e7 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -47,6 +47,9 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
${PYTHON_DEPS}"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-14.0.3.ebuild
index 360436b21ec4..f99e2aa54b75 100644
--- a/sys-devel/llvm/llvm-14.0.3.ebuild
+++ b/sys-devel/llvm/llvm-14.0.3.ebuild
@@ -51,6 +51,9 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
') )
libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
"
# There are no file collisions between these versions but having :0
# installed means llvm-config there will take precedence.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-05-29 19:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-05-29 19:58 UTC (permalink / raw
To: gentoo-commits
commit: 7d7f3accb5ce1b9d803b719c0210996320342c12
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 17:59:43 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May 29 19:58:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d7f3acc
sys-devel/llvm: Bump to 14.0.4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-14.0.4.ebuild | 530 ++++++++++++++++++++++++++++++++++++++
2 files changed, 532 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 66777bb6008e..d9b871e84046 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,8 +6,10 @@ DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841a
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6
+DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646
+DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d2499577f80d38b97600749c91a498c69dfbbe818cee35e4a76370795e55da7037543ea341ad7567a6f548893c67dce9e64 SHA512 e14e6c3a1915a96e9ddc609f16ca3a398ca6f7fd0a691dadaa24490078a661340e845cb2d18f3679de4f47300bb822c33ae69548af6a0370d55737831a28b959
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
new file mode 100644
index 000000000000..4d5f2d4ab016
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+
+ # remove regressing test
+ # https://github.com/llvm/llvm-project/issues/55761
+ rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-05-29 19:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-05-29 19:58 UTC (permalink / raw
To: gentoo-commits
commit: 00c4e5f2a6c6dd665bbed3fa92459289bf527648
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 19:58:00 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May 29 19:58:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00c4e5f2
sys-devel/llvm: Pregen manpages for 14.0.4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index d9b871e84046..b449fc4d4683 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,6 +2,7 @@ DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51ae
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3
+DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 4d5f2d4ab016..164c0299aa8e 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -67,7 +67,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
LLVM_PATCHSET=${PV}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-04 19:53 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-06-04 19:53 UTC (permalink / raw
To: gentoo-commits
commit: bfb1563770287ab68843d1ddfba354c26a82f1ca
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 4 19:52:52 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jun 4 19:53:32 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfb15637
sys-devel/llvm: amd64 stable wrt bug #849464
Package-Manager: Portage-3.0.30, Repoman-3.0.3
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 164c0299aa8e..3a9972acc005 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-04 19:55 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-06-04 19:55 UTC (permalink / raw
To: gentoo-commits
commit: 03ec971cc8b10cd4356d8d36cbeff58ed02bec2c
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 4 19:54:32 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jun 4 19:54:32 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03ec971c
sys-devel/llvm: arm64 stable wrt bug #849464
Package-Manager: Portage-3.0.30, Repoman-3.0.3
RepoMan-Options: --include-arches="arm64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 3a9972acc005..0cbe705adec6 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-04 19:56 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-06-04 19:56 UTC (permalink / raw
To: gentoo-commits
commit: 910b530d82f5e4d776d0d59724d48e090e73c18d
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 4 19:55:49 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jun 4 19:55:49 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=910b530d
sys-devel/llvm: ppc64 stable wrt bug #849464
Package-Manager: Portage-3.0.30, Repoman-3.0.3
RepoMan-Options: --include-arches="ppc64"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 0cbe705adec6..c69f0c394495 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-04 19:58 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-06-04 19:58 UTC (permalink / raw
To: gentoo-commits
commit: 20d079b0c680fa9eacad5c99fdf6e432ec6b3381
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 4 19:57:16 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jun 4 19:58:16 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20d079b0
sys-devel/llvm: x86 stable wrt bug #849464
Package-Manager: Portage-3.0.30, Repoman-3.0.3
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index c69f0c394495..ee76f3f1b006 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-11 11:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-11 11:07 UTC (permalink / raw
To: gentoo-commits
commit: 1c688aea5b85d1e6d18817ec0c4df0122f1daccc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 08:30:00 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 11:06:58 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c688aea
sys-devel/llvm: Replace obsolete LLVM_MANPAGES value
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.3.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index 673ce8591884..e0d7386e7346 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -65,7 +65,7 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
+LLVM_MANPAGES=1
LLVM_PATCHSET=12.0.1
llvm.org_set_globals
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 904a60b5e8e7..d4212f0559bf 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -59,7 +59,7 @@ PDEPEND="sys-devel/llvm-common
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=pregenerated
+LLVM_MANPAGES=1
LLVM_PATCHSET=${PV/_/-}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-14.0.1.ebuild
index 0da9cd7b6b75..f928830b5fa9 100644
--- a/sys-devel/llvm/llvm-14.0.1.ebuild
+++ b/sys-devel/llvm/llvm-14.0.1.ebuild
@@ -56,7 +56,7 @@ PDEPEND="sys-devel/llvm-common
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=pregenerated
+LLVM_MANPAGES=1
LLVM_PATCHSET=14.0.1
LLVM_USE_TARGETS=provide
llvm.org_set_globals
diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-14.0.3.ebuild
index f99e2aa54b75..a8868a3569e1 100644
--- a/sys-devel/llvm/llvm-14.0.3.ebuild
+++ b/sys-devel/llvm/llvm-14.0.3.ebuild
@@ -67,7 +67,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=pregenerated
+LLVM_MANPAGES=1
LLVM_PATCHSET=${PV}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index ee76f3f1b006..2c44ddd79302 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -67,7 +67,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=pregenerated
+LLVM_MANPAGES=1
LLVM_PATCHSET=${PV}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index 8d3abaa4540a..fd1b0e34a17a 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -64,7 +64,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=1
LLVM_PATCHSET=9999-r3
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-11 11:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-11 11:07 UTC (permalink / raw
To: gentoo-commits
commit: 56fc7a77c419b9ebb353b36a9ff2f3d139b380d0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 07:26:22 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 11:07:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56fc7a77
sys-devel/llvm: Bump to 14.0.5
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-14.0.5.ebuild | 530 ++++++++++++++++++++++++++++++++++++++
2 files changed, 533 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b449fc4d4683..e8d90081cd6c 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,7 +8,10 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
+DIST llvm-gentoo-patchset-14.0.5.tar.xz 4072 BLAKE2B c35072f70831d5e3c9f7236f8473b098e6b8da4f27ce6a382ff4d3cd235837b25b9a1bc1e406ce0d3feb05e4d1e1c8bf141ff8f218568d5a5339fd1092f86b62 SHA512 646e0515a6cf1aae86f05db4797d7af6e3c9b8a6070f41cbd36535944029e0e5888128e33d8c44af22b5bb9ccba392b9dfeabc7708e5eab11858edefced6b68d
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
+DIST llvm-project-14.0.5.src.tar.xz 105617748 BLAKE2B a68a6eb58302702f560d1204eb97d34b695eb5df417ccefb50117dbd641ba3c3dda9e64c04506e646dd40c1151eb60b12843e206996ef74b35b2841b8dabafda SHA512 db5a7ea1149988c2aab4ed634f14e00bb9a8042089350b811f875e295ced7b5add80a11b91cad80ba0ba9801261502644a720021506483c14dfb1bc24a7f54d5
+DIST llvm-project-14.0.5.src.tar.xz.sig 566 BLAKE2B ecf66df5d0acb382c9d441aee053404254fa4087d57130b04bb496af9cbb71c59e82f0938f44953d7fd777524781d13d1327b6c64065cf45b177bc3ea0e5c3f2 SHA512 a785e38f11863a46de8766ff4495a73173479cdbd95dc539804b0381a7a834a409713dbaf441272a9cc2963a3c7015c95dc6f0dcfa745e8d6047b1ad5feacff7
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
diff --git a/sys-devel/llvm/llvm-14.0.5.ebuild b/sys-devel/llvm/llvm-14.0.5.ebuild
new file mode 100644
index 000000000000..915790df7aee
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.5.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=${PV}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+
+ # remove regressing test
+ # https://github.com/llvm/llvm-project/issues/55761
+ rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-11 11:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-11 11:07 UTC (permalink / raw
To: gentoo-commits
commit: d5b476f03d54983c63ccb30ef91789121184c789
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 10:08:39 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 11:07:17 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5b476f0
sys-devel/llvm: Manifest manpage tarball
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.5.ebuild | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index e8d90081cd6c..95775e0435de 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,6 +3,7 @@ DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305
DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3
DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
+DIST llvm-14.0.5-manpages.tar.bz2 217258 BLAKE2B 617f454e8d05f644ba1314d0bf72446e00058a547858469442017fffdd4c629f9240b96fb2107bee0aae7e5e85cfa35a21c072378bb2d0bc8260d1c021751f9d SHA512 051f154e3498dca3da420cafedd4ea4e43bbdb1eaf95f5c15107b05cedbaea4bf2d6b4c9567a95f0b8e513173c975e637391055bcd4802dcd0339b88b23da648
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
diff --git a/sys-devel/llvm/llvm-14.0.5.ebuild b/sys-devel/llvm/llvm-14.0.5.ebuild
index 915790df7aee..4d5f2d4ab016 100644
--- a/sys-devel/llvm/llvm-14.0.5.ebuild
+++ b/sys-devel/llvm/llvm-14.0.5.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-11 14:00 Ionen Wolkens
0 siblings, 0 replies; 860+ messages in thread
From: Ionen Wolkens @ 2022-06-11 14:00 UTC (permalink / raw
To: gentoo-commits
commit: b7b6f7f58d4bdec7a8579a7cc3ea6247d1a9db49
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 13:53:13 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 13:58:12 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7b6f7f5
sys-devel/llvm: switch to pregen manpages for 14.0.5
Taking the liberty to fix myself, the tarball is already there.
Closes: https://bugs.gentoo.org/851216
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.5.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.5.ebuild b/sys-devel/llvm/llvm-14.0.5.ebuild
index 4d5f2d4ab016..955b7f70d83e 100644
--- a/sys-devel/llvm/llvm-14.0.5.ebuild
+++ b/sys-devel/llvm/llvm-14.0.5.ebuild
@@ -67,7 +67,7 @@ PDEPEND="
"
LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=1
LLVM_PATCHSET=${PV}
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-22 4:09 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-06-22 4:09 UTC (permalink / raw
To: gentoo-commits
commit: 66adcafad3c1139d28959fa9174ca935adff5f56
Author: orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sat Apr 30 13:41:15 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 04:09:28 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66adcafa
sys-devel/llvm: Don't hardcode ninja
Signed-off-by: orbea <orbea <AT> riseup.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-12.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-13.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.1.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.3.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
sys-devel/llvm/llvm-14.0.5.ebuild | 2 +-
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
index e0d7386e7346..3b38dc9ca6f1 100644
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ b/sys-devel/llvm/llvm-12.0.1.ebuild
@@ -141,7 +141,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index d4212f0559bf..9ae168db4cfb 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -134,7 +134,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-14.0.1.ebuild
index f928830b5fa9..c65be4743574 100644
--- a/sys-devel/llvm/llvm-14.0.1.ebuild
+++ b/sys-devel/llvm/llvm-14.0.1.ebuild
@@ -131,7 +131,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-14.0.3.ebuild
index a8868a3569e1..66789e47a596 100644
--- a/sys-devel/llvm/llvm-14.0.3.ebuild
+++ b/sys-devel/llvm/llvm-14.0.3.ebuild
@@ -142,7 +142,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 2c44ddd79302..70a8953289ae 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -142,7 +142,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-14.0.5.ebuild b/sys-devel/llvm/llvm-14.0.5.ebuild
index 955b7f70d83e..ad91093de640 100644
--- a/sys-devel/llvm/llvm-14.0.5.ebuild
+++ b/sys-devel/llvm/llvm-14.0.5.ebuild
@@ -142,7 +142,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index fd1b0e34a17a..e200d3e34191 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -139,7 +139,7 @@ check_distribution_components() {
all_targets+=( "${l}" )
fi
- done < <(ninja -t targets all)
+ done < <(${NINJA} -t targets all)
while read -r l; do
my_targets+=( "${l}" )
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-25 13:08 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-25 13:08 UTC (permalink / raw
To: gentoo-commits
commit: e10f5e0cbffc0f67e7545474ee94fe31427914a4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 25 11:19:11 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 25 13:07:21 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e10f5e0c
sys-devel/llvm: Bump to 14.0.6
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-14.0.6.ebuild | 530 ++++++++++++++++++++++++++++++++++++++
2 files changed, 533 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 95775e0435de..3061b7a66908 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,9 +10,12 @@ DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc
DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-14.0.5.tar.xz 4072 BLAKE2B c35072f70831d5e3c9f7236f8473b098e6b8da4f27ce6a382ff4d3cd235837b25b9a1bc1e406ce0d3feb05e4d1e1c8bf141ff8f218568d5a5339fd1092f86b62 SHA512 646e0515a6cf1aae86f05db4797d7af6e3c9b8a6070f41cbd36535944029e0e5888128e33d8c44af22b5bb9ccba392b9dfeabc7708e5eab11858edefced6b68d
+DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.5.src.tar.xz 105617748 BLAKE2B a68a6eb58302702f560d1204eb97d34b695eb5df417ccefb50117dbd641ba3c3dda9e64c04506e646dd40c1151eb60b12843e206996ef74b35b2841b8dabafda SHA512 db5a7ea1149988c2aab4ed634f14e00bb9a8042089350b811f875e295ced7b5add80a11b91cad80ba0ba9801261502644a720021506483c14dfb1bc24a7f54d5
DIST llvm-project-14.0.5.src.tar.xz.sig 566 BLAKE2B ecf66df5d0acb382c9d441aee053404254fa4087d57130b04bb496af9cbb71c59e82f0938f44953d7fd777524781d13d1327b6c64065cf45b177bc3ea0e5c3f2 SHA512 a785e38f11863a46de8766ff4495a73173479cdbd95dc539804b0381a7a834a409713dbaf441272a9cc2963a3c7015c95dc6f0dcfa745e8d6047b1ad5feacff7
+DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
+DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
diff --git a/sys-devel/llvm/llvm-14.0.6.ebuild b/sys-devel/llvm/llvm-14.0.6.ebuild
new file mode 100644
index 000000000000..ad91093de640
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.6.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+
+ # remove regressing test
+ # https://github.com/llvm/llvm-project/issues/55761
+ rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-27 3:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-27 3:10 UTC (permalink / raw
To: gentoo-commits
commit: 43dd920429e62444ae94c5bb29bbde7717289d64
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 27 03:09:07 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 27 03:09:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43dd9204
sys-devel/llvm: Add manpage checksum
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3061b7a66908..bdbe648fb802 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,7 @@ DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482
DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3
DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
DIST llvm-14.0.5-manpages.tar.bz2 217258 BLAKE2B 617f454e8d05f644ba1314d0bf72446e00058a547858469442017fffdd4c629f9240b96fb2107bee0aae7e5e85cfa35a21c072378bb2d0bc8260d1c021751f9d SHA512 051f154e3498dca3da420cafedd4ea4e43bbdb1eaf95f5c15107b05cedbaea4bf2d6b4c9567a95f0b8e513173c975e637391055bcd4802dcd0339b88b23da648
+DIST llvm-14.0.6-manpages.tar.bz2 214038 BLAKE2B c1ec35a5eeb35b720bf9a3a5ea9820eceaa26d9030a876772aca25dd47f8848500b94309ae9e6f3e9bc16e083d91747664e16b01dec06897e294e55fbf6f5cb3 SHA512 ea22af2f6cbfd3183f4e9ba5638e2667ca48562519bd679744d86778fed8da97173a25f57671aa67bcb45a7e4c8fd6cbbf461589a8611e1c8eb1b9eda7cc430f
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-06-27 8:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-06-27 8:26 UTC (permalink / raw
To: gentoo-commits
commit: 4cc3a44c50e3a21d55dbdd8290ec2fe5c0ef5786
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 27 04:44:52 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 27 08:25:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cc3a44c
sys-devel/llvm: Update component list for LLVM 15
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index e200d3e34191..6d34fc401750 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -222,6 +222,7 @@ get_distribution_components() {
count
not
yaml-bench
+ UnicodeNameMappingGenerator
# tools
bugpoint
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-18 7:54 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-18 7:54 UTC (permalink / raw
To: gentoo-commits
commit: c13c98b40beb7d18155a6a25ddfaf3d3ce6d81da
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 05:12:23 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 07:54:36 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c13c98b4
sys-devel/llvm: Backport AMDGPU fix needed by ROCm
Bug: https://github.com/llvm/llvm-project/issues/56577
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.6-r1.ebuild | 530 +++++++++++++++++++++++++++++++++++
2 files changed, 531 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index bdbe648fb802..f1f3ff6db126 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,6 +11,7 @@ DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc
DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-14.0.5.tar.xz 4072 BLAKE2B c35072f70831d5e3c9f7236f8473b098e6b8da4f27ce6a382ff4d3cd235837b25b9a1bc1e406ce0d3feb05e4d1e1c8bf141ff8f218568d5a5339fd1092f86b62 SHA512 646e0515a6cf1aae86f05db4797d7af6e3c9b8a6070f41cbd36535944029e0e5888128e33d8c44af22b5bb9ccba392b9dfeabc7708e5eab11858edefced6b68d
+DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.5.src.tar.xz 105617748 BLAKE2B a68a6eb58302702f560d1204eb97d34b695eb5df417ccefb50117dbd641ba3c3dda9e64c04506e646dd40c1151eb60b12843e206996ef74b35b2841b8dabafda SHA512 db5a7ea1149988c2aab4ed634f14e00bb9a8042089350b811f875e295ced7b5add80a11b91cad80ba0ba9801261502644a720021506483c14dfb1bc24a7f54d5
diff --git a/sys-devel/llvm/llvm-14.0.6-r1.ebuild b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
new file mode 100644
index 000000000000..722dc92b8505
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV}-r1
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+
+ # remove regressing test
+ # https://github.com/llvm/llvm-project/issues/55761
+ rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-18 16:05 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-07-18 16:05 UTC (permalink / raw
To: gentoo-commits
commit: b7f73af6c4fe1e2343e6131056107c099716849e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 16:04:59 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 16:04:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7f73af6
sys-devel/llvm: Stabilize 14.0.4 arm, #849464
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.4.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 70a8953289ae..936ff9736ee0 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-19 6:33 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-19 6:33 UTC (permalink / raw
To: gentoo-commits
commit: 26941435ab674e5de52ccc7f6fd78336437d943c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 19 05:51:43 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 19 06:33:21 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26941435
sys-devel/llvm: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 10 -
sys-devel/llvm/llvm-14.0.1.ebuild | 515 ------------------------------------
sys-devel/llvm/llvm-14.0.3.ebuild | 526 -------------------------------------
sys-devel/llvm/llvm-14.0.5.ebuild | 530 --------------------------------------
4 files changed, 1581 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f1f3ff6db126..694520e29e12 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,25 +1,15 @@
DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
-DIST llvm-14.0.1-manpages.tar.bz2 86273 BLAKE2B 174b412568565bdd4c3db34b1b2f2482a18ca45a0a6269ca381fe5c77da21b85dafabad29551b262d593006e9b68e6f7fdf43c2ec626204970d1280dd87a5f3d SHA512 49c58094eebecfadff97d62b4e6b0129e07c52ad7fe3ea4ce5c955e6fc9c73ac443b6a6e0f8322cf25e1d88b059c4231c4798d8da04340a46f6f84fb1b386f29
-DIST llvm-14.0.3-manpages.tar.bz2 217443 BLAKE2B ebea48d9015bb0b53e8b799d8d79ac7a8d03f55440e5d3a08a9ce6c8f106c3f37e597c46aaf824dfee87c222775630299a5c277b4b29d43e831116c12932675a SHA512 db762ff7bfde28147276cacb5c5753a1bb4dd08dc8840423d6fc073629cd97bc3c7f54402cb17aa00cfc06f9f775f7ac9478c2661cacf86d5517a968d290beb3
DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
-DIST llvm-14.0.5-manpages.tar.bz2 217258 BLAKE2B 617f454e8d05f644ba1314d0bf72446e00058a547858469442017fffdd4c629f9240b96fb2107bee0aae7e5e85cfa35a21c072378bb2d0bc8260d1c021751f9d SHA512 051f154e3498dca3da420cafedd4ea4e43bbdb1eaf95f5c15107b05cedbaea4bf2d6b4c9567a95f0b8e513173c975e637391055bcd4802dcd0339b88b23da648
DIST llvm-14.0.6-manpages.tar.bz2 214038 BLAKE2B c1ec35a5eeb35b720bf9a3a5ea9820eceaa26d9030a876772aca25dd47f8848500b94309ae9e6f3e9bc16e083d91747664e16b01dec06897e294e55fbf6f5cb3 SHA512 ea22af2f6cbfd3183f4e9ba5638e2667ca48562519bd679744d86778fed8da97173a25f57671aa67bcb45a7e4c8fd6cbbf461589a8611e1c8eb1b9eda7cc430f
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
-DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32
-DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
-DIST llvm-gentoo-patchset-14.0.5.tar.xz 4072 BLAKE2B c35072f70831d5e3c9f7236f8473b098e6b8da4f27ce6a382ff4d3cd235837b25b9a1bc1e406ce0d3feb05e4d1e1c8bf141ff8f218568d5a5339fd1092f86b62 SHA512 646e0515a6cf1aae86f05db4797d7af6e3c9b8a6070f41cbd36535944029e0e5888128e33d8c44af22b5bb9ccba392b9dfeabc7708e5eab11858edefced6b68d
DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
-DIST llvm-project-14.0.5.src.tar.xz 105617748 BLAKE2B a68a6eb58302702f560d1204eb97d34b695eb5df417ccefb50117dbd641ba3c3dda9e64c04506e646dd40c1151eb60b12843e206996ef74b35b2841b8dabafda SHA512 db5a7ea1149988c2aab4ed634f14e00bb9a8042089350b811f875e295ced7b5add80a11b91cad80ba0ba9801261502644a720021506483c14dfb1bc24a7f54d5
-DIST llvm-project-14.0.5.src.tar.xz.sig 566 BLAKE2B ecf66df5d0acb382c9d441aee053404254fa4087d57130b04bb496af9cbb71c59e82f0938f44953d7fd777524781d13d1327b6c64065cf45b177bc3ea0e5c3f2 SHA512 a785e38f11863a46de8766ff4495a73173479cdbd95dc539804b0381a7a834a409713dbaf441272a9cc2963a3c7015c95dc6f0dcfa745e8d6047b1ad5feacff7
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2
-DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646
DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d2499577f80d38b97600749c91a498c69dfbbe818cee35e4a76370795e55da7037543ea341ad7567a6f548893c67dce9e64 SHA512 e14e6c3a1915a96e9ddc609f16ca3a398ca6f7fd0a691dadaa24490078a661340e845cb2d18f3679de4f47300bb822c33ae69548af6a0370d55737831a28b959
diff --git a/sys-devel/llvm/llvm-14.0.1.ebuild b/sys-devel/llvm/llvm-14.0.1.ebuild
deleted file mode 100644
index c65be4743574..000000000000
--- a/sys-devel/llvm/llvm-14.0.1.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=14.0.1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-14.0.3.ebuild b/sys-devel/llvm/llvm-14.0.3.ebuild
deleted file mode 100644
index 66789e47a596..000000000000
--- a/sys-devel/llvm/llvm-14.0.3.ebuild
+++ /dev/null
@@ -1,526 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-14.0.5.ebuild b/sys-devel/llvm/llvm-14.0.5.ebuild
deleted file mode 100644
index ad91093de640..000000000000
--- a/sys-devel/llvm/llvm-14.0.5.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-
- # remove regressing test
- # https://github.com/llvm/llvm-project/issues/55761
- rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-19 7:47 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-19 7:47 UTC (permalink / raw
To: gentoo-commits
commit: 92d68beeddca3f82218a7c579eac726f441d8659
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 19 07:47:26 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 19 07:47:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92d68bee
sys-devel/llvm: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 -
sys-devel/llvm/llvm-12.0.1.ebuild | 517 --------------------------------------
2 files changed, 520 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 694520e29e12..3ea918f4d8fa 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,8 +1,6 @@
-DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
DIST llvm-14.0.6-manpages.tar.bz2 214038 BLAKE2B c1ec35a5eeb35b720bf9a3a5ea9820eceaa26d9030a876772aca25dd47f8848500b94309ae9e6f3e9bc16e083d91747664e16b01dec06897e294e55fbf6f5cb3 SHA512 ea22af2f6cbfd3183f4e9ba5638e2667ca48562519bd679744d86778fed8da97173a25f57671aa67bcb45a7e4c8fd6cbbf461589a8611e1c8eb1b9eda7cc430f
-DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
@@ -10,6 +8,5 @@ DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d628
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
-DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d2499577f80d38b97600749c91a498c69dfbbe818cee35e4a76370795e55da7037543ea341ad7567a6f548893c67dce9e64 SHA512 e14e6c3a1915a96e9ddc609f16ca3a398ca6f7fd0a691dadaa24490078a661340e845cb2d18f3679de4f47300bb822c33ae69548af6a0370d55737831a28b959
diff --git a/sys-devel/llvm/llvm-12.0.1.ebuild b/sys-devel/llvm/llvm-12.0.1.ebuild
deleted file mode 100644
index 3b38dc9ca6f1..000000000000
--- a/sys-devel/llvm/llvm-12.0.1.ebuild
+++ /dev/null
@@ -1,517 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc exegesis +gold libedit +libffi ncurses test xar xml z3 ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=12.0.1
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-21 1:29 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-07-21 1:29 UTC (permalink / raw
To: gentoo-commits
commit: a33f0b55fd183d9015d9b1a988ea0e8d261fb5c5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 01:21:39 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 01:21:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a33f0b55
sys-devel/llvm: fix UnusedLocalUse
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/metadata.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index c10c45dd8f21..fa838ec85ac6 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -14,7 +14,6 @@
<flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
<flag name="exegesis">Enable performance counter support for llvm-exegesis tool
that can be used to measure host machine instruction characteristics</flag>
- <flag name="gold">Build the binutils plugin</flag>
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
<flag name="xar">Support dumping LLVM bitcode sections in Mach-O files
(uses <pkg>app-arch/xar</pkg>)</flag>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-21 12:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-21 12:53 UTC (permalink / raw
To: gentoo-commits
commit: 9e32acc210c81f54ec2c1044cd3aff26e6cc12fe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 06:54:15 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 12:53:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e32acc2
sys-devel/llvm: Use python_has_version
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r1.ebuild | 4 ++--
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r1.ebuild b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
index fcee531bd42f..f21b43b8bd2c 100644
--- a/sys-devel/llvm/llvm-14.0.6-r1.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
@@ -75,8 +75,8 @@ llvm.org_set_globals
python_check_deps() {
use doc || return 0
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
check_uptodate() {
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index c6095aed35b3..bcf786694588 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -72,8 +72,8 @@ llvm.org_set_globals
python_check_deps() {
use doc || return 0
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
check_uptodate() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-21 12:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-21 12:53 UTC (permalink / raw
To: gentoo-commits
commit: 5dd615765ecde27f1a72c78fd2b05b2e65d0318f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 06:52:56 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 12:53:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dd61576
sys-devel/llvm: Rename check_live_ebuild to comply to policy
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 6 +++---
sys-devel/llvm/llvm-14.0.4.ebuild | 6 +++---
sys-devel/llvm/llvm-14.0.6-r1.ebuild | 6 +++---
sys-devel/llvm/llvm-14.0.6.ebuild | 6 +++---
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 6 +++---
5 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 9ae168db4cfb..9bec4f84d3ae 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -71,7 +71,7 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
+check_uptodate() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
| tail -n +2 | head -n -1)
@@ -168,8 +168,8 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
+ # Verify that the ebuild is up-to-date
+ check_uptodate
llvm.org_src_prepare
}
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
index 936ff9736ee0..a003f620a1fa 100644
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ b/sys-devel/llvm/llvm-14.0.4.ebuild
@@ -79,7 +79,7 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
+check_uptodate() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
| tail -n +2 | head -n -1)
@@ -176,8 +176,8 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
+ # Verify that the ebuild is up-to-date
+ check_uptodate
llvm.org_src_prepare
diff --git a/sys-devel/llvm/llvm-14.0.6-r1.ebuild b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
index 722dc92b8505..fcee531bd42f 100644
--- a/sys-devel/llvm/llvm-14.0.6-r1.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
@@ -79,7 +79,7 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
+check_uptodate() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
| tail -n +2 | head -n -1)
@@ -176,8 +176,8 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
+ # Verify that the ebuild is up-to-date
+ check_uptodate
llvm.org_src_prepare
diff --git a/sys-devel/llvm/llvm-14.0.6.ebuild b/sys-devel/llvm/llvm-14.0.6.ebuild
index ad91093de640..f379e7940354 100644
--- a/sys-devel/llvm/llvm-14.0.6.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6.ebuild
@@ -79,7 +79,7 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
+check_uptodate() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
| tail -n +2 | head -n -1)
@@ -176,8 +176,8 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
+ # Verify that the ebuild is up-to-date
+ check_uptodate
llvm.org_src_prepare
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index 6d34fc401750..c6095aed35b3 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -76,7 +76,7 @@ python_check_deps() {
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
}
-check_live_ebuild() {
+check_uptodate() {
local prod_targets=(
$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
| tail -n +2 | head -n -1)
@@ -173,8 +173,8 @@ src_prepare() {
# Update config.guess to support more systems
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
+ # Verify that the ebuild is up-to-date
+ check_uptodate
llvm.org_src_prepare
}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-21 12:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-21 12:53 UTC (permalink / raw
To: gentoo-commits
commit: 5d60d1c34fd3c68a89f462aa007c892fcb9aedfe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 06:56:59 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 12:53:35 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d60d1c3
sys-devel/llvm: Update distribution components for 15.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index 79beef59fe2f..a28eef0e4888 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -244,11 +244,13 @@ get_distribution_components() {
llvm-cxxdump
llvm-cxxfilt
llvm-cxxmap
+ llvm-debuginfod
llvm-debuginfod-find
llvm-diff
llvm-dis
llvm-dlltool
llvm-dwarfdump
+ llvm-dwarfutil
llvm-dwp
llvm-exegesis
llvm-extract
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-21 12:53 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-21 12:53 UTC (permalink / raw
To: gentoo-commits
commit: db2345c77479fa579eaaa57c1e09af1cbc81ea00
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 06:54:27 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 12:53:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db2345c7
sys-devel/llvm: Enable python3.11 in 15.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
index bcf786694588..79beef59fe2f 100644
--- a/sys-devel/llvm/llvm-15.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
toolchain-funcs
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-28 13:20 Sam James
0 siblings, 0 replies; 860+ messages in thread
From: Sam James @ 2022-07-28 13:20 UTC (permalink / raw
To: gentoo-commits
commit: 0500aa9131906723eacb6f42729f378becbf72ba
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 28 12:13:45 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 28 13:19:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0500aa91
sys-devel/llvm: add github upstream metadata
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/llvm/metadata.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index fa838ec85ac6..084e1821104b 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -19,4 +19,7 @@
(uses <pkg>app-arch/xar</pkg>)</flag>
<flag name="z3">Enable support for <pkg>sci-mathematics/z3</pkg> constraint solver</flag>
</use>
+ <upstream>
+ <remote-id type="github">llvm/llvm-project</remote-id>
+ </upstream>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-29 10:09 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-29 10:09 UTC (permalink / raw
To: gentoo-commits
commit: 644544c68c246b8958cbefedd1e415482de6040f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 29 07:16:57 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 29 10:09:35 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=644544c6
sys-devel/llvm: Backport more patches to 14.0.6-r2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 530 +++++++++++++++++++++++++++++++++++
2 files changed, 531 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3ea918f4d8fa..971fa608526f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,7 @@ DIST llvm-14.0.6-manpages.tar.bz2 214038 BLAKE2B c1ec35a5eeb35b720bf9a3a5ea9820e
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
+DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
new file mode 100644
index 000000000000..c841b9484ee5
--- /dev/null
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ test? (
+ sys-apps/which
+ )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV}-r2
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+
+ # remove regressing test
+ # https://github.com/llvm/llvm-project/issues/55761
+ rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-30 6:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-07-30 6:52 UTC (permalink / raw
To: gentoo-commits
commit: 76214fb43b1de54c024eda2bf38937c84fc7520b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 30 06:37:17 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 30 06:52:49 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76214fb4
sys-devel/llvm: Regen 14.0.6 manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 971fa608526f..57a9e8399d02 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,6 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
-DIST llvm-14.0.6-manpages.tar.bz2 214038 BLAKE2B c1ec35a5eeb35b720bf9a3a5ea9820eceaa26d9030a876772aca25dd47f8848500b94309ae9e6f3e9bc16e083d91747664e16b01dec06897e294e55fbf6f5cb3 SHA512 ea22af2f6cbfd3183f4e9ba5638e2667ca48562519bd679744d86778fed8da97173a25f57671aa67bcb45a7e4c8fd6cbbf461589a8611e1c8eb1b9eda7cc430f
+DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-30 8:47 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-07-30 8:47 UTC (permalink / raw
To: gentoo-commits
commit: be0051c99f14437f02f55dd28e2ceb33bfbbca2d
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 30 08:46:31 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jul 30 08:46:31 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be0051c9
sys-devel/llvm: ppc64 stable wrt bug #861950
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index c841b9484ee5..c755c452e4be 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-30 8:59 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-07-30 8:59 UTC (permalink / raw
To: gentoo-commits
commit: f12288c98ce3b6be79a07a48de6d0e04ac7f8e71
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 30 08:58:07 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sat Jul 30 08:58:55 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f12288c9
sys-devel/llvm: amd64 stable wrt bug #861950
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index c755c452e4be..38969fb49011 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-30 17:55 Arthur Zamarin
0 siblings, 0 replies; 860+ messages in thread
From: Arthur Zamarin @ 2022-07-30 17:55 UTC (permalink / raw
To: gentoo-commits
commit: 0e3bde8e377964eec328ffc7c2ac395e5a718e51
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 30 17:54:59 2022 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Jul 30 17:54:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e3bde8e
sys-devel/llvm: Stabilize 14.0.6-r2 arm64, #861950
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index 4a73cedd7ab7..f0d181040da9 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-07-31 11:13 Agostino Sarubbo
0 siblings, 0 replies; 860+ messages in thread
From: Agostino Sarubbo @ 2022-07-31 11:13 UTC (permalink / raw
To: gentoo-commits
commit: 32e2b40074ce0575e14e22cd30270c880f0f8336
Author: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 31 11:12:05 2022 +0000
Commit: Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Sun Jul 31 11:12:05 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32e2b400
sys-devel/llvm: x86 stable wrt bug #861950
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index f0d181040da9..80b78588722d 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-02 19:50 Arthur Zamarin
0 siblings, 0 replies; 860+ messages in thread
From: Arthur Zamarin @ 2022-08-02 19:50 UTC (permalink / raw
To: gentoo-commits
commit: 222acd63c83cb59d1ae808e46a2b84c3db7c40a8
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 2 19:50:02 2022 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 2 19:50:02 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=222acd63
sys-devel/llvm: Stabilize 14.0.6-r2 sparc, #862999
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index 80b78588722d..01b9bbfd4b9d 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-03 7:02 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-08-03 7:02 UTC (permalink / raw
To: gentoo-commits
commit: 2ba31d4a9bf3e7cd874426301a61c1f89c36345a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 06:54:50 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 06:55:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ba31d4a
sys-devel/llvm: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 5 -
sys-devel/llvm/llvm-14.0.4.ebuild | 530 -----------------------------------
sys-devel/llvm/llvm-14.0.6-r1.ebuild | 530 -----------------------------------
sys-devel/llvm/llvm-14.0.6.ebuild | 530 -----------------------------------
4 files changed, 1595 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 57a9e8399d02..b3b1a78759aa 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,13 +1,8 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
-DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
-DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
-DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d2499577f80d38b97600749c91a498c69dfbbe818cee35e4a76370795e55da7037543ea341ad7567a6f548893c67dce9e64 SHA512 e14e6c3a1915a96e9ddc609f16ca3a398ca6f7fd0a691dadaa24490078a661340e845cb2d18f3679de4f47300bb822c33ae69548af6a0370d55737831a28b959
diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
deleted file mode 100644
index a003f620a1fa..000000000000
--- a/sys-devel/llvm/llvm-14.0.4.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-
- # remove regressing test
- # https://github.com/llvm/llvm-project/issues/55761
- rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-14.0.6-r1.ebuild b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
deleted file mode 100644
index f21b43b8bd2c..000000000000
--- a/sys-devel/llvm/llvm-14.0.6-r1.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}-r1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-
- # remove regressing test
- # https://github.com/llvm/llvm-project/issues/55761
- rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-14.0.6.ebuild b/sys-devel/llvm/llvm-14.0.6.ebuild
deleted file mode 100644
index f379e7940354..000000000000
--- a/sys-devel/llvm/llvm-14.0.6.ebuild
+++ /dev/null
@@ -1,530 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-
- # remove regressing test
- # https://github.com/llvm/llvm-project/issues/55761
- rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-05 19:50 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-08-05 19:50 UTC (permalink / raw
To: gentoo-commits
commit: 563a09ee701ad0a02a8a5357a9bce83bb079cb86
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 19:48:29 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 19:49:49 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=563a09ee
sys-devel/llvm: Add 16.* live ebuilds
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 527 +++++++++++++++++++++++++++++++++
1 file changed, 527 insertions(+)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
new file mode 100644
index 000000000000..a28eef0e4888
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-09 17:36 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-08-09 17:36 UTC (permalink / raw
To: gentoo-commits
commit: 982532c1a186e1e68899a4b50f5ea029d7e6f680
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 9 13:31:55 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 9 17:36:36 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=982532c1
sys-devel/llvm: Bump to 15.0.0_rc2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.0_rc2.ebuild | 527 ++++++++++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b3b1a78759aa..f69812dabd8e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,7 +2,10 @@ DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
+DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
+DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9
+DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.0_rc2.ebuild b/sys-devel/llvm/llvm-15.0.0_rc2.ebuild
new file mode 100644
index 000000000000..f6bca5b0ce63
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.0_rc2.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-20 15:54 Arthur Zamarin
0 siblings, 0 replies; 860+ messages in thread
From: Arthur Zamarin @ 2022-08-20 15:54 UTC (permalink / raw
To: gentoo-commits
commit: 681dd1114a3a81c5e4f8131bf3f4766b7310a5a2
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 07:40:54 2022 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 20 15:53:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=681dd111
sys-devel/llvm: use python_has_version
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 9bec4f84d3ae..2d52bf8cfe60 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -67,8 +67,8 @@ llvm.org_set_globals
python_check_deps() {
use doc || return 0
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
}
check_uptodate() {
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-08-26 8:43 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-08-26 8:43 UTC (permalink / raw
To: gentoo-commits
commit: 6ce8c06146a12dbbc04207bf19bdcddab15b041f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 26 07:21:30 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 26 08:42:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ce8c061
sys-devel/llvm: Bump to 15.0.0_rc3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.0_rc3.ebuild | 527 ++++++++++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f69812dabd8e..047782e2b30a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,9 +3,12 @@ DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff63
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269
+DIST llvm-gentoo-patchset-15.0.0-rc3.tar.xz 4036 BLAKE2B 0f8172f1d9ac674b7c888781138dcb1f55c7f73a98ee78d04e4e26442ac91ae2a6c6d6aaa45982a344e174e1d080247ab9c62bbb9adaa7fd20c5a481e0e8bfed SHA512 ebdf8d1d4f52150c99015e6dea4f3fd67f0a54284d52e946d104ff6c0f60efc716a1b39d3cdecf7b353cf139d8306793d37c10fe9269376d9846896fcf6415ad
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9
DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca
+DIST llvm-project-15.0.0rc3.src.tar.xz 112081940 BLAKE2B 659359f8366ad09051fa2256c1aae8cea2049ab6428ce6b15a6845f7ee01a27bc2be2ab612adf8364cb2d699f19d09a7ea01eda74b266f14cc844662bcc833e0 SHA512 e4ac310c19fd6b710d372b9a53dffaf6736d4b5c23190fa98536be40f7c4e45670957dcbfb337e9d1dd44398df43d1ae736063eff2b2fd3d6fc752fae286d3bb
+DIST llvm-project-15.0.0rc3.src.tar.xz.sig 438 BLAKE2B 455181d3845ff1766f463d0e02caf72df8106dad16b8d54234f7f2fa0fcb5636abb06b2d35b5fdb8a3ed5c92a41a47d413d1bb76013cb914ce79913479a786e2 SHA512 80a67cf48186d2fbde997707e5d3d7a2dc3097f07e32ff45277e5185eb358d6b292821d8eaf8570fcc45560340663d62adb0380c675909c4c9c713e52704c800
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.0_rc3.ebuild b/sys-devel/llvm/llvm-15.0.0_rc3.ebuild
new file mode 100644
index 000000000000..f6bca5b0ce63
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.0_rc3.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-06 7:59 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-06 7:59 UTC (permalink / raw
To: gentoo-commits
commit: c08ed5a97b7263f9f14cfe6fc7a9cf1116d19908
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 07:57:59 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 07:57:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c08ed5a9
sys-devel/llvm: Bump to 15.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.0.ebuild | 527 ++++++++++++++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 047782e2b30a..dd563ecbbcb0 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,9 +4,12 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269
DIST llvm-gentoo-patchset-15.0.0-rc3.tar.xz 4036 BLAKE2B 0f8172f1d9ac674b7c888781138dcb1f55c7f73a98ee78d04e4e26442ac91ae2a6c6d6aaa45982a344e174e1d080247ab9c62bbb9adaa7fd20c5a481e0e8bfed SHA512 ebdf8d1d4f52150c99015e6dea4f3fd67f0a54284d52e946d104ff6c0f60efc716a1b39d3cdecf7b353cf139d8306793d37c10fe9269376d9846896fcf6415ad
+DIST llvm-gentoo-patchset-15.0.0.tar.xz 4032 BLAKE2B 99c959eff6c8164147952aa5dc0621d1804b1e460c71bbfcf0c2a971f82e8405bc0c4dac327c27b6b459c4f45381466e883e502df14c84d8ba98495a437bfd47 SHA512 ce516b3401bd45696cf9ed0003de2f536695b8554fa3c2c35f14f1f1e2f0f115c20ef2b1d5319369cc536db4cb95cb508d34e7a6f8ef60f242547179e9d338a6
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
+DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
+DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9
DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca
DIST llvm-project-15.0.0rc3.src.tar.xz 112081940 BLAKE2B 659359f8366ad09051fa2256c1aae8cea2049ab6428ce6b15a6845f7ee01a27bc2be2ab612adf8364cb2d699f19d09a7ea01eda74b266f14cc844662bcc833e0 SHA512 e4ac310c19fd6b710d372b9a53dffaf6736d4b5c23190fa98536be40f7c4e45670957dcbfb337e9d1dd44398df43d1ae736063eff2b2fd3d6fc752fae286d3bb
diff --git a/sys-devel/llvm/llvm-15.0.0.ebuild b/sys-devel/llvm/llvm-15.0.0.ebuild
new file mode 100644
index 000000000000..f6bca5b0ce63
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.0.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-06 8:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-06 8:01 UTC (permalink / raw
To: gentoo-commits
commit: 522a61c772bd389a4cbbbe9ba76b1913917ef82b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 08:00:25 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 08:00:25 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=522a61c7
sys-devel/llvm: Remove 15.0.0 RCs
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 6 -
sys-devel/llvm/llvm-15.0.0_rc2.ebuild | 527 ----------------------------------
sys-devel/llvm/llvm-15.0.0_rc3.ebuild | 527 ----------------------------------
3 files changed, 1060 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index dd563ecbbcb0..be48b181502a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -2,16 +2,10 @@ DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269
-DIST llvm-gentoo-patchset-15.0.0-rc3.tar.xz 4036 BLAKE2B 0f8172f1d9ac674b7c888781138dcb1f55c7f73a98ee78d04e4e26442ac91ae2a6c6d6aaa45982a344e174e1d080247ab9c62bbb9adaa7fd20c5a481e0e8bfed SHA512 ebdf8d1d4f52150c99015e6dea4f3fd67f0a54284d52e946d104ff6c0f60efc716a1b39d3cdecf7b353cf139d8306793d37c10fe9269376d9846896fcf6415ad
DIST llvm-gentoo-patchset-15.0.0.tar.xz 4032 BLAKE2B 99c959eff6c8164147952aa5dc0621d1804b1e460c71bbfcf0c2a971f82e8405bc0c4dac327c27b6b459c4f45381466e883e502df14c84d8ba98495a437bfd47 SHA512 ce516b3401bd45696cf9ed0003de2f536695b8554fa3c2c35f14f1f1e2f0f115c20ef2b1d5319369cc536db4cb95cb508d34e7a6f8ef60f242547179e9d338a6
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
-DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9
-DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca
-DIST llvm-project-15.0.0rc3.src.tar.xz 112081940 BLAKE2B 659359f8366ad09051fa2256c1aae8cea2049ab6428ce6b15a6845f7ee01a27bc2be2ab612adf8364cb2d699f19d09a7ea01eda74b266f14cc844662bcc833e0 SHA512 e4ac310c19fd6b710d372b9a53dffaf6736d4b5c23190fa98536be40f7c4e45670957dcbfb337e9d1dd44398df43d1ae736063eff2b2fd3d6fc752fae286d3bb
-DIST llvm-project-15.0.0rc3.src.tar.xz.sig 438 BLAKE2B 455181d3845ff1766f463d0e02caf72df8106dad16b8d54234f7f2fa0fcb5636abb06b2d35b5fdb8a3ed5c92a41a47d413d1bb76013cb914ce79913479a786e2 SHA512 80a67cf48186d2fbde997707e5d3d7a2dc3097f07e32ff45277e5185eb358d6b292821d8eaf8570fcc45560340663d62adb0380c675909c4c9c713e52704c800
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.0_rc2.ebuild b/sys-devel/llvm/llvm-15.0.0_rc2.ebuild
deleted file mode 100644
index f6bca5b0ce63..000000000000
--- a/sys-devel/llvm/llvm-15.0.0_rc2.ebuild
+++ /dev/null
@@ -1,527 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-15.0.0_rc3.ebuild b/sys-devel/llvm/llvm-15.0.0_rc3.ebuild
deleted file mode 100644
index f6bca5b0ce63..000000000000
--- a/sys-devel/llvm/llvm-15.0.0_rc3.ebuild
+++ /dev/null
@@ -1,527 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-06 15:37 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-06 15:37 UTC (permalink / raw
To: gentoo-commits
commit: a1ba52234724804f18dca8e70e2139379a8df25e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 15:16:04 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 15:37:29 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1ba5223
sys-devel/llvm: Add manpages to Manifest
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index be48b181502a..8f9f13b37b94 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,5 +1,6 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
+DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810b3f20b09486822aa98008dc3ba9fae72dd307c53b5086e9bb010d49e72b50fa7e7f40eb4bc081315fd314bac7e8b45de6 SHA512 f45d58d928457323e276c942f970e999515df546c5c133e1ee2eb1e9be39b1b4721c09a0a90b9a434cac7212ac3b394d8d631bc65fe2a6eeeeba811d4f037ea5
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0.tar.xz 4032 BLAKE2B 99c959eff6c8164147952aa5dc0621d1804b1e460c71bbfcf0c2a971f82e8405bc0c4dac327c27b6b459c4f45381466e883e502df14c84d8ba98495a437bfd47 SHA512 ce516b3401bd45696cf9ed0003de2f536695b8554fa3c2c35f14f1f1e2f0f115c20ef2b1d5319369cc536db4cb95cb508d34e7a6f8ef60f242547179e9d338a6
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-06 17:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-06 17:34 UTC (permalink / raw
To: gentoo-commits
commit: 8489df6bb8b9ab53f708dd8866dbd3d306e871c2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 17:09:40 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 17:34:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8489df6b
sys-devel/llvm: Bump 15.0.0 patchset
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +-
sys-devel/llvm/llvm-15.0.0.ebuild | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8f9f13b37b94..aa1ed1be7f9f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -3,7 +3,7 @@ DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff63
DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810b3f20b09486822aa98008dc3ba9fae72dd307c53b5086e9bb010d49e72b50fa7e7f40eb4bc081315fd314bac7e8b45de6 SHA512 f45d58d928457323e276c942f970e999515df546c5c133e1ee2eb1e9be39b1b4721c09a0a90b9a434cac7212ac3b394d8d631bc65fe2a6eeeeba811d4f037ea5
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-15.0.0.tar.xz 4032 BLAKE2B 99c959eff6c8164147952aa5dc0621d1804b1e460c71bbfcf0c2a971f82e8405bc0c4dac327c27b6b459c4f45381466e883e502df14c84d8ba98495a437bfd47 SHA512 ce516b3401bd45696cf9ed0003de2f536695b8554fa3c2c35f14f1f1e2f0f115c20ef2b1d5319369cc536db4cb95cb508d34e7a6f8ef60f242547179e9d338a6
+DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
diff --git a/sys-devel/llvm/llvm-15.0.0.ebuild b/sys-devel/llvm/llvm-15.0.0.ebuild
index f6bca5b0ce63..78197452e669 100644
--- a/sys-devel/llvm/llvm-15.0.0.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.ebuild
@@ -65,7 +65,7 @@ PDEPEND="
LLVM_COMPONENTS=( llvm cmake third-party )
LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}
+LLVM_PATCHSET=${PV/_/-}-r1
LLVM_USE_TARGETS=provide
llvm.org_set_globals
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-06 19:18 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-06 19:18 UTC (permalink / raw
To: gentoo-commits
commit: e0fba1803463d1ba933c28c2d3c78d2342c81c7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 19:17:36 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 19:18:16 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0fba180
sys-devel/llvm: Add keywords to 15.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/llvm/llvm-15.0.0.ebuild b/sys-devel/llvm/llvm-15.0.0.ebuild
index 78197452e669..ef31663b7c96 100644
--- a/sys-devel/llvm/llvm-15.0.0.ebuild
+++ b/sys-devel/llvm/llvm-15.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-13 19:51 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-13 19:51 UTC (permalink / raw
To: gentoo-commits
commit: db4a002d00d1c12cd79671c4d2fe7c1bb16008c6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 17:30:36 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 19:51:10 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db4a002d
sys-devel/llvm: Update components in 16.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index a28eef0e4888..67a9c4587fdd 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -284,6 +284,7 @@ get_distribution_components() {
llvm-readobj
llvm-reduce
llvm-remark-size-diff
+ llvm-remarkutil
llvm-rtdyld
llvm-sim
llvm-size
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-16 12:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-16 12:14 UTC (permalink / raw
To: gentoo-commits
commit: 69889eeb4c5f75497ef57b2fe776d4927bbed7d0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 16 08:59:45 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 16 12:14:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69889eeb
sys-devel/llvm: Add 16.0.0_pre20220915 snap
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 +
sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild | 528 ++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index aa1ed1be7f9f..6d2a6dfcc57a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,7 +4,9 @@ DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
+DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
+DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
new file mode 100644
index 000000000000..63a6413a34cd
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
@@ -0,0 +1,528 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-19 10:40 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-19 10:40 UTC (permalink / raw
To: gentoo-commits
commit: 01131b3f66e127a73fd53117416d45aed1e57a5b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 19 08:40:37 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 19 10:39:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01131b3f
sys-devel/llvm: Add 16.0.0_pre20220918 snap
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild | 528 ++++++++++++++++++++++++++
2 files changed, 529 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 6d2a6dfcc57a..8e156b936c60 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,4 +11,5 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
+DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
new file mode 100644
index 000000000000..67a9c4587fdd
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
@@ -0,0 +1,528 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 6:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 6:38 UTC (permalink / raw
To: gentoo-commits
commit: fbb11cffd7bc86d7d615d7c719ff7667287c15e7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 06:33:08 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 06:38:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbb11cff
sys-devel/llvm: Bump live to 15.0.1.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-15.0.0.9999.ebuild => llvm-15.0.1.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.1.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-15.0.0.9999.ebuild
rename to sys-devel/llvm/llvm-15.0.1.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 11:04 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 11:04 UTC (permalink / raw
To: gentoo-commits
commit: a2c8eefd2640f482032890bb1b1c06b9c17d0beb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 06:43:55 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 11:01:21 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2c8eefd
sys-devel/llvm: Bump to 15.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.1.ebuild | 527 ++++++++++++++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 8e156b936c60..469960ffbd48 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,7 @@ DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
+DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0
@@ -11,5 +12,7 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
+DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
+DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.1.ebuild b/sys-devel/llvm/llvm-15.0.1.ebuild
new file mode 100644
index 000000000000..029b24ca58f7
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.1.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 11:07 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 11:07 UTC (permalink / raw
To: gentoo-commits
commit: 04f59e25e10c5f760acd6c29998c6f0e96d373b6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 19 09:12:33 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 11:05:56 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04f59e25
sys-devel/llvm: Add llvm-toolchain-symlinks PDEP to 16.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 1 +
sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild | 1 +
sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild | 1 +
3 files changed, 3 insertions(+)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 67a9c4587fdd..9171387473ba 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -60,6 +60,7 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
"
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
index 63a6413a34cd..d5a4cffc7866 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
@@ -60,6 +60,7 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
"
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
index 67a9c4587fdd..9171387473ba 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
@@ -60,6 +60,7 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 11:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 11:12 UTC (permalink / raw
To: gentoo-commits
commit: fb8d6c7a56adbc5ad93b5eeeef957a090485f5d4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 11:08:48 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 11:08:48 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb8d6c7a
sys-devel/llvm: Remove 16.0.0_pre20220915
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 2 -
sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild | 529 --------------------------
2 files changed, 531 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 469960ffbd48..2fce722dc388 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -5,9 +5,7 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
-DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
-DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
deleted file mode 100644
index d5a4cffc7866..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20220915.ebuild
+++ /dev/null
@@ -1,529 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 11:17 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 11:17 UTC (permalink / raw
To: gentoo-commits
commit: bdf39f35ac968c1f5656096b9c9667a3101f4f2d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 11:14:50 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 11:17:48 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bdf39f35
sys-devel/llvm: Add symlinks PDEP to 15.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.1.9999.ebuild | 1 +
sys-devel/llvm/llvm-15.0.1.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/sys-devel/llvm/llvm-15.0.1.9999.ebuild b/sys-devel/llvm/llvm-15.0.1.9999.ebuild
index a28eef0e4888..0adf1193a4ea 100644
--- a/sys-devel/llvm/llvm-15.0.1.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.1.9999.ebuild
@@ -60,6 +60,7 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
"
diff --git a/sys-devel/llvm/llvm-15.0.1.ebuild b/sys-devel/llvm/llvm-15.0.1.ebuild
index 029b24ca58f7..dcf7c0df4cf8 100644
--- a/sys-devel/llvm/llvm-15.0.1.ebuild
+++ b/sys-devel/llvm/llvm-15.0.1.ebuild
@@ -60,6 +60,7 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-20 11:21 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-20 11:21 UTC (permalink / raw
To: gentoo-commits
commit: 54bb604c84041d503f9083336c17f9a0987ac2ce
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 11:19:57 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 11:21:15 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54bb604c
sys-devel/llvm: Manifest new manpages
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 2fce722dc388..5ba74ddb7845 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810b3f20b09486822aa98008dc3ba9fae72dd307c53b5086e9bb010d49e72b50fa7e7f40eb4bc081315fd314bac7e8b45de6 SHA512 f45d58d928457323e276c942f970e999515df546c5c133e1ee2eb1e9be39b1b4721c09a0a90b9a434cac7212ac3b394d8d631bc65fe2a6eeeeba811d4f037ea5
+DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439900b584111e314c9a38671d20f12244314c56af6a8e7427345eea7e48a9b0d51aff88b2f7ae97be5f7122c068d92a9f3e SHA512 f08620768f632b85d1ad624c1dd6f93743069113411603583fa3b540072b05a44123e8149ed2a36340ca3973e99f84291281bc8ddd0fca159a4a5509fbadd3d7
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-21 8:26 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-21 8:26 UTC (permalink / raw
To: gentoo-commits
commit: 50db557ff4b632790a710af9ef825b4b36f173b3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 21 08:24:09 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 21 08:25:15 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50db557f
sys-devel/llvm: Remove 15.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 4 -
sys-devel/llvm/llvm-15.0.0.ebuild | 527 --------------------------------------
2 files changed, 531 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 5ba74ddb7845..4c7148538063 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,16 +1,12 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
-DIST llvm-15.0.0-manpages.tar.bz2 226153 BLAKE2B 60535fce25935f4475148f91fbac810b3f20b09486822aa98008dc3ba9fae72dd307c53b5086e9bb010d49e72b50fa7e7f40eb4bc081315fd314bac7e8b45de6 SHA512 f45d58d928457323e276c942f970e999515df546c5c133e1ee2eb1e9be39b1b4721c09a0a90b9a434cac7212ac3b394d8d631bc65fe2a6eeeeba811d4f037ea5
DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439900b584111e314c9a38671d20f12244314c56af6a8e7427345eea7e48a9b0d51aff88b2f7ae97be5f7122c068d92a9f3e SHA512 f08620768f632b85d1ad624c1dd6f93743069113411603583fa3b540072b05a44123e8149ed2a36340ca3973e99f84291281bc8ddd0fca159a4a5509fbadd3d7
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-15.0.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8
DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
-DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
-DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
diff --git a/sys-devel/llvm/llvm-15.0.0.ebuild b/sys-devel/llvm/llvm-15.0.0.ebuild
deleted file mode 100644
index ef31663b7c96..000000000000
--- a/sys-devel/llvm/llvm-15.0.0.ebuild
+++ /dev/null
@@ -1,527 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}-r1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-26 7:36 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-26 7:36 UTC (permalink / raw
To: gentoo-commits
commit: fac919ad693f7fb8847cb4e88d8d351309699ae6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 26 07:03:01 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 07:36:02 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fac919ad
sys-devel/llvm: 15.x live is now 15.0.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-15.0.1.9999.ebuild => llvm-15.0.2.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.1.9999.ebuild b/sys-devel/llvm/llvm-15.0.2.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-15.0.1.9999.ebuild
rename to sys-devel/llvm/llvm-15.0.2.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-26 15:58 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-26 15:58 UTC (permalink / raw
To: gentoo-commits
commit: 651f3dc66775f7f03de809648fc11a9af33caab4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 26 15:57:36 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 15:57:36 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=651f3dc6
sys-devel/llvm: Remove 16.0.0_pre20220926, it is too broken
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-16.0.0_pre20220926.ebuild | 529 --------------------------
2 files changed, 530 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 46374a34b698..4c7148538063 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,5 +10,4 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
-DIST llvm-project-4f188ef89ce5a3bee21fd0b4e8fcdf7f030f64b2.tar.gz 168720595 BLAKE2B 10bd3ac4eea674fc171f17414f6892a681529b020a5d513e075920f7792fb31d6d4a3584679ebea24bc839c2a233459b935d368c7ea57c94ad27c7c81da05cff SHA512 77ae7eb57c8c50affb516581dabe3b31e342f7ed899440521b6738aeec3b6e795c50c078bbe0f483a070961c9b5b73a7bbe28e2f109e2ce69d238ddbda8e134f
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220926.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220926.ebuild
deleted file mode 100644
index 9171387473ba..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20220926.ebuild
+++ /dev/null
@@ -1,529 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-30 14:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-30 14:52 UTC (permalink / raw
To: gentoo-commits
commit: 30dbb1f15dffb8837acde5fe629d99510f5bb622
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 08:37:22 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 14:52:01 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30dbb1f1
sys-devel/llvm: Add 16.0.0_pre20220930 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild | 529 ++++++++++++++++++++++++++
2 files changed, 530 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 4c7148538063..7fcb2fa2eda9 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,5 +9,6 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
+DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
new file mode 100644
index 000000000000..9171387473ba
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
@@ -0,0 +1,529 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-30 15:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-30 15:52 UTC (permalink / raw
To: gentoo-commits
commit: 70bf3a8996b9a14b0e28d7e367275a20f6d0cffc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 13:49:51 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 15:52:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70bf3a89
sys-devel/llvm: Add zstd support in 16.x
Bug: https://bugs.gentoo.org/873526
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 22 +++++++++++++++++++---
sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild | 22 +++++++++++++++++++---
2 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 9171387473ba..d0153e31a64d 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
+inherit cmake llvm.org multilib multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -32,6 +35,7 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -337,6 +341,13 @@ multilib_src_configure() {
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
+ if use zstd; then
+ cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die
+ add_library(zstd::libzstd_shared SHARED IMPORTED)
+ set_target_properties(zstd::libzstd_shared PROPERTIES
+ IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)")
+ EOF
+ fi
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -366,6 +377,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
@@ -374,6 +386,10 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ # workaround llvm requiring cmake files from zstd
+ -Dzstd_DIR="${BUILD_DIR}"
+ -DLLVM_PREFER_STATIC_ZSTD=FALSE
+
-DPython3_EXECUTABLE="${PYTHON}"
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
index 9171387473ba..d0153e31a64d 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
+inherit cmake llvm.org multilib multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -32,6 +35,7 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -337,6 +341,13 @@ multilib_src_configure() {
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
+ if use zstd; then
+ cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die
+ add_library(zstd::libzstd_shared SHARED IMPORTED)
+ set_target_properties(zstd::libzstd_shared PROPERTIES
+ IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)")
+ EOF
+ fi
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -366,6 +377,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
@@ -374,6 +386,10 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+ # workaround llvm requiring cmake files from zstd
+ -Dzstd_DIR="${BUILD_DIR}"
+ -DLLVM_PREFER_STATIC_ZSTD=FALSE
+
-DPython3_EXECUTABLE="${PYTHON}"
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-09-30 18:27 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-09-30 18:27 UTC (permalink / raw
To: gentoo-commits
commit: 693e3888cd94ce96cd2e5f63242d751d12aa2f1f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 18:26:25 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 18:27:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=693e3888
sys-devel/llvm: Revert "Add zstd support in 16.x"
Unfortunately, LLVM's cmake files leak the dependency on otherwise
non-existing zstd targets, so everything building against LLVM fails
now.
Reverts: 70bf3a8996b9a14b0e28d7e367275a20f6d0cffc
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 22 +++-------------------
sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild | 22 +++-------------------
2 files changed, 6 insertions(+), 38 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index d0153e31a64d..9171387473ba 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -19,10 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -35,7 +32,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -341,13 +337,6 @@ multilib_src_configure() {
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
- if use zstd; then
- cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die
- add_library(zstd::libzstd_shared SHARED IMPORTED)
- set_target_properties(zstd::libzstd_shared PROPERTIES
- IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)")
- EOF
- fi
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -377,7 +366,6 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
@@ -386,10 +374,6 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
- # workaround llvm requiring cmake files from zstd
- -Dzstd_DIR="${BUILD_DIR}"
- -DLLVM_PREFER_STATIC_ZSTD=FALSE
-
-DPython3_EXECUTABLE="${PYTHON}"
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
index d0153e31a64d..9171387473ba 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -19,10 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -35,7 +32,6 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -341,13 +337,6 @@ multilib_src_configure() {
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
fi
- if use zstd; then
- cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die
- add_library(zstd::libzstd_shared SHARED IMPORTED)
- set_target_properties(zstd::libzstd_shared PROPERTIES
- IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)")
- EOF
- fi
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -377,7 +366,6 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
@@ -386,10 +374,6 @@ multilib_src_configure() {
# used only for llvm-objdump tool
-DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
- # workaround llvm requiring cmake files from zstd
- -Dzstd_DIR="${BUILD_DIR}"
- -DLLVM_PREFER_STATIC_ZSTD=FALSE
-
-DPython3_EXECUTABLE="${PYTHON}"
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-03 13:04 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-03 13:04 UTC (permalink / raw
To: gentoo-commits
commit: e88d7cb4ab877980152981b8ae557a506eed19e2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 3 12:46:28 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 3 12:46:28 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e88d7cb4
sys-devel/llvm: Remove 16.0.0_pre20220918
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild | 529 --------------------------
2 files changed, 530 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 7fcb2fa2eda9..265bacec8071 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,5 +10,4 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
-DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
deleted file mode 100644
index 9171387473ba..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20220918.ebuild
+++ /dev/null
@@ -1,529 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-04 17:14 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-04 17:14 UTC (permalink / raw
To: gentoo-commits
commit: 2aae4ce718676a894a7f6d607558a5faf14b3dcf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 4 11:38:38 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 4 17:14:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2aae4ce7
sys-devel/llvm: Bump to 15.0.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.2.ebuild | 528 ++++++++++++++++++++++++++++++++++++++
2 files changed, 531 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 265bacec8071..2404d1051bcb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,10 +4,13 @@ DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
+DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
+DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
+DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.2.ebuild b/sys-devel/llvm/llvm-15.0.2.ebuild
new file mode 100644
index 000000000000..5f8f61bdd695
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.2.ebuild
@@ -0,0 +1,528 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}-r2
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-04 17:23 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-04 17:23 UTC (permalink / raw
To: gentoo-commits
commit: 3a1400458d3e9e030121ea1a8f46cb024bb5947e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 4 17:22:52 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 4 17:22:52 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a140045
sys-devel/llvm: Add manpages to 15.0.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 2404d1051bcb..eb5ca7899cc8 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439900b584111e314c9a38671d20f12244314c56af6a8e7427345eea7e48a9b0d51aff88b2f7ae97be5f7122c068d92a9f3e SHA512 f08620768f632b85d1ad624c1dd6f93743069113411603583fa3b540072b05a44123e8149ed2a36340ca3973e99f84291281bc8ddd0fca159a4a5509fbadd3d7
+DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be13e2d26cd7baa96bbb645cd627fe42e64e7b087f427d1ccd6f054e7c08056d6fbb24386f2a37e4c7e36e1d4a3fa83b19a9 SHA512 4916d863377e081a70f153b7129dfc1c4e09cbceddb2bf83863f3a95ddcb464e37eee9244750d4e9ee67a41bcb9e5edc163bf6f14bace9cb9b88ca2f70810a2f
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-06 20:11 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-06 20:11 UTC (permalink / raw
To: gentoo-commits
commit: f3648feed7c7a2ce983d7e75eb96eefe402f1159
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 6 16:18:45 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 6 20:11:07 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3648fee
sys-devel/llvm: Bump to 16.0.0_pre20221006
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 534 ++++++++++++++++++++++++++
2 files changed, 535 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index eb5ca7899cc8..182bea3a981d 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -14,4 +14,5 @@ DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
+DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
new file mode 100644
index 000000000000..b306d267303c
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -0,0 +1,534 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${SLOT}
+ binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${SLOT}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${SLOT} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-06 20:11 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-06 20:11 UTC (permalink / raw
To: gentoo-commits
commit: 189ba493932c2aa1ce48f78a0c19258cf745ae80
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 6 18:54:31 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 6 20:11:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=189ba493
sys-devel/llvm: Enable zstd in 16.0.0.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 9171387473ba..b306d267303c 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
+inherit cmake llvm.org multilib multilib-minimal pax-utils \
+ python-any-r1 toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
@@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -32,6 +35,7 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -366,6 +370,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 9:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 9:01 UTC (permalink / raw
To: gentoo-commits
commit: 6d7eda1001321172f10310c68baba3d760382dba
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 08:55:56 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 09:00:42 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d7eda10
sys-devel/llvm: Remove 15.0.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 4 -
sys-devel/llvm/llvm-15.0.1.ebuild | 528 --------------------------------------
2 files changed, 532 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 182bea3a981d..09c371aac735 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,16 +1,12 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
-DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439900b584111e314c9a38671d20f12244314c56af6a8e7427345eea7e48a9b0d51aff88b2f7ae97be5f7122c068d92a9f3e SHA512 f08620768f632b85d1ad624c1dd6f93743069113411603583fa3b540072b05a44123e8149ed2a36340ca3973e99f84291281bc8ddd0fca159a4a5509fbadd3d7
DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be13e2d26cd7baa96bbb645cd627fe42e64e7b087f427d1ccd6f054e7c08056d6fbb24386f2a37e4c7e36e1d4a3fa83b19a9 SHA512 4916d863377e081a70f153b7129dfc1c4e09cbceddb2bf83863f3a95ddcb464e37eee9244750d4e9ee67a41bcb9e5edc163bf6f14bace9cb9b88ca2f70810a2f
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6
DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
-DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
-DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
diff --git a/sys-devel/llvm/llvm-15.0.1.ebuild b/sys-devel/llvm/llvm-15.0.1.ebuild
deleted file mode 100644
index dcf7c0df4cf8..000000000000
--- a/sys-devel/llvm/llvm-15.0.1.ebuild
+++ /dev/null
@@ -1,528 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 9:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 9:01 UTC (permalink / raw
To: gentoo-commits
commit: 40094303105cabfa8cccab83e017fe1ddef7b1aa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 08:56:57 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 09:00:55 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40094303
sys-devel/llvm: Remove 16.0.0_pre20220930
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild | 529 --------------------------
2 files changed, 530 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 09c371aac735..b9f9f5da749a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,6 +9,5 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
-DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
deleted file mode 100644
index 9171387473ba..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild
+++ /dev/null
@@ -1,529 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 13:42 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 13:42 UTC (permalink / raw
To: gentoo-commits
commit: 78c724ce1ee768455d0733dbd01af3edac5ff7c0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 13:40:56 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 13:40:56 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78c724ce
sys-devel/llvm: Remove unused multilib inherit
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 4 ++--
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 63c986a698a5..1c560dd8c2ec 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
index 63c986a698a5..1c560dd8c2ec 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -4,8 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib multilib-minimal pax-utils \
- python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 13:42 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 13:42 UTC (permalink / raw
To: gentoo-commits
commit: c5246513ad3ef0044d063f5bb5a0246f8cc9cd1a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 13:26:04 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 13:38:12 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5246513
sys-devel/llvm: Add git commit id to SOVERSION suffix for 16.x
Include a shortened git commit id in the LLVM version suffix of live
and snapshot ebuilds of 16.x branch. Since the ABI of this branch
is not yet stable, using unique SOVERSIONs can avoid immediate breakage
when using the same clang version as the compiler.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 11 ++++++++++-
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 11 ++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index b306d267303c..63c986a698a5 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -385,15 +385,24 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
if is_libcxx_linked; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
-DLLVM_ENABLE_LIBCXX=ON
)
fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
# Note: go bindings have no CMake rules at the moment
# but let's kill the check in case they are introduced
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
index b306d267303c..63c986a698a5 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -385,15 +385,24 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
if is_libcxx_linked; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
-DLLVM_ENABLE_LIBCXX=ON
)
fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
# Note: go bindings have no CMake rules at the moment
# but let's kill the check in case they are introduced
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 16:41 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 16:41 UTC (permalink / raw
To: gentoo-commits
commit: 2488661ede60d252bd84a26b4b716e98ef234944
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 15:40:41 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 16:41:20 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2488661e
sys-devel/llvm: Use the new version vars
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.2.9999.ebuild | 36 +++++++++++++--------------
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 36 +++++++++++++--------------
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 36 +++++++++++++--------------
3 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.2.9999.ebuild b/sys-devel/llvm/llvm-15.0.2.9999.ebuild
index 0adf1193a4ea..a814a1ce8fe1 100644
--- a/sys-devel/llvm/llvm-15.0.2.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.2.9999.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}"
KEYWORDS=""
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
@@ -43,7 +43,7 @@ BDEPEND="
>=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
>=sys-devel/binutils-apple-5.1
)
doc? ( $(python_gen_any_dep '
@@ -60,8 +60,8 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
"
LLVM_COMPONENTS=( llvm cmake third-party )
@@ -342,7 +342,7 @@ multilib_src_configure() {
# disable appending VCS revision to the version to improve
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
@@ -406,7 +406,7 @@ multilib_src_configure() {
if llvm_are_manpages_built; then
build_docs=ON
mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
@@ -425,7 +425,7 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
[[ -x "${tblgen}" ]] \
|| die "${tblgen} not found or usable"
mycmakeargs+=(
@@ -452,7 +452,7 @@ multilib_src_configure() {
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
CMakeCache.txt ||
die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
multilib_is_native_abi && check_distribution_components
@@ -480,7 +480,7 @@ multilib_src_test() {
src_install() {
local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
)
local MULTILIB_WRAPPED_HEADERS=(
@@ -491,7 +491,7 @@ src_install() {
multilib-minimal_src_install
# move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
}
multilib_src_install() {
@@ -499,28 +499,28 @@ multilib_src_install() {
# move headers to /usr/include for wrapping
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
}
multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
}
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
elog "To use these scripts, you will need Python along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 1c560dd8c2ec..39c537340bdf 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}"
KEYWORDS=""
IUSE="
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
@@ -47,7 +47,7 @@ BDEPEND="
>=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
>=sys-devel/binutils-apple-5.1
)
doc? ( $(python_gen_any_dep '
@@ -64,8 +64,8 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
"
LLVM_COMPONENTS=( llvm cmake third-party )
@@ -347,7 +347,7 @@ multilib_src_configure() {
# disable appending VCS revision to the version to improve
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
@@ -421,7 +421,7 @@ multilib_src_configure() {
if llvm_are_manpages_built; then
build_docs=ON
mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
@@ -440,7 +440,7 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
[[ -x "${tblgen}" ]] \
|| die "${tblgen} not found or usable"
mycmakeargs+=(
@@ -467,7 +467,7 @@ multilib_src_configure() {
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
CMakeCache.txt ||
die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
multilib_is_native_abi && check_distribution_components
@@ -495,7 +495,7 @@ multilib_src_test() {
src_install() {
local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
)
local MULTILIB_WRAPPED_HEADERS=(
@@ -506,7 +506,7 @@ src_install() {
multilib-minimal_src_install
# move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
}
multilib_src_install() {
@@ -514,28 +514,28 @@ multilib_src_install() {
# move headers to /usr/include for wrapping
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
}
multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
}
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
elog "To use these scripts, you will need Python along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
index 1c560dd8c2ec..39c537340bdf 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
+SLOT="${LLVM_MAJOR}"
KEYWORDS=""
IUSE="
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
@@ -47,7 +47,7 @@ BDEPEND="
>=dev-util/cmake-3.16
sys-devel/gnuconfig
kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
>=sys-devel/binutils-apple-5.1
)
doc? ( $(python_gen_any_dep '
@@ -64,8 +64,8 @@ RDEPEND="
"
PDEPEND="
sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
"
LLVM_COMPONENTS=( llvm cmake third-party )
@@ -347,7 +347,7 @@ multilib_src_configure() {
# disable appending VCS revision to the version to improve
# direct cache hit ratio
-DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
@@ -421,7 +421,7 @@ multilib_src_configure() {
if llvm_are_manpages_built; then
build_docs=ON
mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-DSPHINX_WARNINGS_AS_ERRORS=OFF
)
@@ -440,7 +440,7 @@ multilib_src_configure() {
fi
if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
[[ -x "${tblgen}" ]] \
|| die "${tblgen} not found or usable"
mycmakeargs+=(
@@ -467,7 +467,7 @@ multilib_src_configure() {
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
cmake_src_configure
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
CMakeCache.txt ||
die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
multilib_is_native_abi && check_distribution_components
@@ -495,7 +495,7 @@ multilib_src_test() {
src_install() {
local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
)
local MULTILIB_WRAPPED_HEADERS=(
@@ -506,7 +506,7 @@ src_install() {
multilib-minimal_src_install
# move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
}
multilib_src_install() {
@@ -514,28 +514,28 @@ multilib_src_install() {
# move headers to /usr/include for wrapping
rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
}
multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
# we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
_EOF_
- docompress "/usr/lib/llvm/${SLOT}/share/man"
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
llvm_install_manpages
}
pkg_postinst() {
elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
elog "To use these scripts, you will need Python along with the following"
elog "packages:"
elog " dev-python/pygments (for opt-viewer)"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-07 17:01 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-07 17:01 UTC (permalink / raw
To: gentoo-commits
commit: 3bbec6160a43018d5233e9b1cb82b7b0ce1d0ee7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 7 16:56:38 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 7 17:00:57 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bbec616
sys-devel/llvm: Set subslot to LLVM_SOABI
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.2.9999.ebuild | 2 +-
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 2 +-
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.2.9999.ebuild b/sys-devel/llvm/llvm-15.0.2.9999.ebuild
index a814a1ce8fe1..010e27a1349e 100644
--- a/sys-devel/llvm/llvm-15.0.2.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.2.9999.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 39c537340bdf..fef201259b9f 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
index 39c537340bdf..fef201259b9f 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://llvm.org/"
# 4. ConvertUTF.h: TODO.
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
IUSE="
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-10 8:34 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-10 8:34 UTC (permalink / raw
To: gentoo-commits
commit: ccf097d351188c1d1531e549ca10d1d625c0197e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 08:31:16 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 08:34:11 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccf097d3
sys-devel/llvm: 15.x is now 15.0.3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/{llvm-15.0.2.9999.ebuild => llvm-15.0.3.9999.ebuild} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.2.9999.ebuild b/sys-devel/llvm/llvm-15.0.3.9999.ebuild
similarity index 100%
rename from sys-devel/llvm/llvm-15.0.2.9999.ebuild
rename to sys-devel/llvm/llvm-15.0.3.9999.ebuild
^ permalink raw reply [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-10 8:38 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-10 8:38 UTC (permalink / raw
To: gentoo-commits
commit: b82c414287ebeba16f99a04bd3a0ca571f82d658
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 08:35:43 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 08:38:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b82c4142
sys-devel/llvm: Remove obsolete Go-switch in 16.0.0.9999
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 8 --------
1 file changed, 8 deletions(-)
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index fef201259b9f..946713e022db 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -404,14 +404,6 @@ multilib_src_configure() {
-DLLVM_VERSION_SUFFIX="${suffix}"
)
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
use test && mycmakeargs+=(
-DLLVM_LIT_ARGS="$(get_lit_flags)"
)
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-10 20:10 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-10 20:10 UTC (permalink / raw
To: gentoo-commits
commit: 1cb025afc91a25628d25c31578d834634ddb5f8f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 14:42:39 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 20:10:23 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1cb025af
sys-devel/llvm: Bump to 16.0.0_pre20221010
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild | 535 ++++++++++++++++++++++++++
2 files changed, 536 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b9f9f5da749a..6a82efa2232c 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,4 +10,5 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..946713e022db
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
@@ -0,0 +1,535 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
+ if is_libcxx_linked; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
+ mycmakeargs+=(
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-10 20:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-10 20:52 UTC (permalink / raw
To: gentoo-commits
commit: dbc5f4c188646927815d288e746e5b3fe7615719
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 20:32:09 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 20:52:37 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbc5f4c1
sys-devel/llvm: Use tc-get-cxx-stdlib
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-13.0.1.ebuild | 14 +-------------
sys-devel/llvm/llvm-14.0.6-r2.ebuild | 14 +-------------
sys-devel/llvm/llvm-15.0.2.ebuild | 14 +-------------
sys-devel/llvm/llvm-15.0.3.9999.ebuild | 14 +-------------
sys-devel/llvm/llvm-16.0.0.9999.ebuild | 14 +-------------
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 14 +-------------
sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild | 14 +-------------
7 files changed, 7 insertions(+), 91 deletions(-)
diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild
index 2d52bf8cfe60..598476d25566 100644
--- a/sys-devel/llvm/llvm-13.0.1.ebuild
+++ b/sys-devel/llvm/llvm-13.0.1.ebuild
@@ -174,18 +174,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -367,7 +355,7 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-14.0.6-r2.ebuild b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
index 01b9bbfd4b9d..0f53397cf7ae 100644
--- a/sys-devel/llvm/llvm-14.0.6-r2.ebuild
+++ b/sys-devel/llvm/llvm-14.0.6-r2.ebuild
@@ -186,18 +186,6 @@ src_prepare() {
rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -381,7 +369,7 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-15.0.2.ebuild b/sys-devel/llvm/llvm-15.0.2.ebuild
index 5f8f61bdd695..79d2ff39fb45 100644
--- a/sys-devel/llvm/llvm-15.0.2.ebuild
+++ b/sys-devel/llvm/llvm-15.0.2.ebuild
@@ -180,18 +180,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -379,7 +367,7 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-15.0.3.9999.ebuild b/sys-devel/llvm/llvm-15.0.3.9999.ebuild
index 010e27a1349e..1f47134cba77 100644
--- a/sys-devel/llvm/llvm-15.0.3.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.3.9999.ebuild
@@ -180,18 +180,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -379,7 +367,7 @@ multilib_src_configure() {
-DOCAMLFIND=NO
)
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
index 946713e022db..4eebbc15117c 100644
--- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild
@@ -184,18 +184,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -391,7 +379,7 @@ multilib_src_configure() {
# the commit id in the SOVERSION to contain the breakage
suffix+="git${EGIT_VERSION::8}"
fi
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
index fef201259b9f..91463ab2ffbd 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
@@ -184,18 +184,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -391,7 +379,7 @@ multilib_src_configure() {
# the commit id in the SOVERSION to contain the breakage
suffix+="git${EGIT_VERSION::8}"
fi
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
index 946713e022db..4eebbc15117c 100644
--- a/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
@@ -184,18 +184,6 @@ src_prepare() {
llvm.org_src_prepare
}
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
get_distribution_components() {
local sep=${1-;}
@@ -391,7 +379,7 @@ multilib_src_configure() {
# the commit id in the SOVERSION to contain the breakage
suffix+="git${EGIT_VERSION::8}"
fi
- if is_libcxx_linked; then
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
# Smart hack: alter version suffix -> SOVERSION when linking
# against libc++. This way we won't end up mixing LLVM libc++
# libraries with libstdc++ clang, and the other way around.
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-11 16:12 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-11 16:12 UTC (permalink / raw
To: gentoo-commits
commit: f3bc2b16e520525082c1de6dc2bbe43809300260
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 11 16:11:37 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 11 16:12:09 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3bc2b16
sys-devel/llvm: Remove 16.0.0_pre20221006
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild | 531 --------------------------
2 files changed, 532 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 6a82efa2232c..48fd46f270ee 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -9,6 +9,5 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
-DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
deleted file mode 100644
index 91463ab2ffbd..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20221006.ebuild
+++ /dev/null
@@ -1,531 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS=""
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
- binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- local suffix=
- if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
- # the ABI of the main branch is not stable, so let's include
- # the commit id in the SOVERSION to contain the breakage
- suffix+="git${EGIT_VERSION::8}"
- fi
- if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- suffix+="+libcxx"
- mycmakeargs+=(
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="${suffix}"
- )
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${LLVM_MAJOR} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-16 18:59 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-16 18:59 UTC (permalink / raw
To: gentoo-commits
commit: 39b79d079c7f6bc990e6a0eb02fb69ebd61ada0c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 16 13:47:34 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 16 18:59:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39b79d07
sys-devel/llvm: Add 16.0.0_pre20221016 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
sys-devel/llvm/llvm-16.0.0_pre20221016.ebuild | 523 ++++++++++++++++++++++++++
2 files changed, 524 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 48fd46f270ee..c17678fa9e31 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -7,6 +7,7 @@ DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c6
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
+DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221016.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221016.ebuild
new file mode 100644
index 000000000000..4eebbc15117c
--- /dev/null
+++ b/sys-devel/llvm/llvm-16.0.0_pre20221016.ebuild
@@ -0,0 +1,523 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=9999-r3
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
+ mycmakeargs+=(
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-18 15:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-18 15:00 UTC (permalink / raw
To: gentoo-commits
commit: 00cfed666e1a798f13cbade3827c24830c47becc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 18 10:50:46 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 18 15:00:32 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00cfed66
sys-devel/llvm: Bump to 15.0.3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 3 +
sys-devel/llvm/llvm-15.0.3.ebuild | 516 ++++++++++++++++++++++++++++++++++++++
2 files changed, 519 insertions(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c17678fa9e31..3e66cbb4a2b5 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,11 +4,14 @@ DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be1
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569
+DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
+DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856
+DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916
DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-15.0.3.ebuild b/sys-devel/llvm/llvm-15.0.3.ebuild
new file mode 100644
index 000000000000..0244aaad636f
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.3.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-18 15:00 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-18 15:00 UTC (permalink / raw
To: gentoo-commits
commit: 9d775dc7a764ed9d32c78f476ead436612d637b7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 18 12:21:40 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 18 15:00:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d775dc7
sys-devel/llvm: Add zstd flag to 15.0.3*
The support for non-CMake version of zstd has been backported to 15.x,
so add a flag to control it (and avoid the automagic dep).
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/llvm-15.0.3.9999.ebuild | 7 ++++++-
sys-devel/llvm/llvm-15.0.3.ebuild | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/sys-devel/llvm/llvm-15.0.3.9999.ebuild b/sys-devel/llvm/llvm-15.0.3.9999.ebuild
index 1f47134cba77..ab36cada7cfb 100644
--- a/sys-devel/llvm/llvm-15.0.3.9999.ebuild
+++ b/sys-devel/llvm/llvm-15.0.3.9999.ebuild
@@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS=""
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -32,6 +35,7 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -353,6 +357,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
diff --git a/sys-devel/llvm/llvm-15.0.3.ebuild b/sys-devel/llvm/llvm-15.0.3.ebuild
index 0244aaad636f..7e1b4d4609af 100644
--- a/sys-devel/llvm/llvm-15.0.3.ebuild
+++ b/sys-devel/llvm/llvm-15.0.3.ebuild
@@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -32,6 +35,7 @@ RDEPEND="
xar? ( app-arch/xar )
xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
@@ -353,6 +357,7 @@ multilib_src_configure() {
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZSTD=$(usex zstd)
-DLLVM_HOST_TRIPLE="${CHOST}"
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-18 19:52 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-18 19:52 UTC (permalink / raw
To: gentoo-commits
commit: 6a7ea7717a068fa03a55fead4dda87010c0e6b58
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 18 19:45:06 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 18 19:45:06 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a7ea771
sys-devel/llvm: Add manpage archive hash
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3e66cbb4a2b5..b1fa2803b6a4 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,7 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be13e2d26cd7baa96bbb645cd627fe42e64e7b087f427d1ccd6f054e7c08056d6fbb24386f2a37e4c7e36e1d4a3fa83b19a9 SHA512 4916d863377e081a70f153b7129dfc1c4e09cbceddb2bf83863f3a95ddcb464e37eee9244750d4e9ee67a41bcb9e5edc163bf6f14bace9cb9b88ca2f70810a2f
+DIST llvm-15.0.3-manpages.tar.bz2 229076 BLAKE2B 377809b34339af7deb80856281932d94d694dab2b7dddbac1f82f653f7bf6932c1f3827635d151479fdb6d776de3e3ee4d08aeae4e320e07baaa1b32877f64c5 SHA512 d4872f68f044e55ecf927b0e6fe4206046f60aafcf41009ae5580e0a3f6a6d6a69f4929487b2740124a41f22073eaa8a4a184b367b7f4606402735374294f4f6
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-23 11:35 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-23 11:35 UTC (permalink / raw
To: gentoo-commits
commit: d8f92b33d698fea308bf38f0630ccb23bb051a92
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 11:35:15 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 11:35:15 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8f92b33
sys-devel/llvm: Remove 15.0.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 4 -
sys-devel/llvm/llvm-15.0.2.ebuild | 516 --------------------------------------
2 files changed, 520 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index b1fa2803b6a4..28460755ca40 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,17 +1,13 @@
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
-DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be13e2d26cd7baa96bbb645cd627fe42e64e7b087f427d1ccd6f054e7c08056d6fbb24386f2a37e4c7e36e1d4a3fa83b19a9 SHA512 4916d863377e081a70f153b7129dfc1c4e09cbceddb2bf83863f3a95ddcb464e37eee9244750d4e9ee67a41bcb9e5edc163bf6f14bace9cb9b88ca2f70810a2f
DIST llvm-15.0.3-manpages.tar.bz2 229076 BLAKE2B 377809b34339af7deb80856281932d94d694dab2b7dddbac1f82f653f7bf6932c1f3827635d151479fdb6d776de3e3ee4d08aeae4e320e07baaa1b32877f64c5 SHA512 d4872f68f044e55ecf927b0e6fe4206046f60aafcf41009ae5580e0a3f6a6d6a69f4929487b2740124a41f22073eaa8a4a184b367b7f4606402735374294f4f6
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569
DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816
DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04
-DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
-DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856
DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916
DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
diff --git a/sys-devel/llvm/llvm-15.0.2.ebuild b/sys-devel/llvm/llvm-15.0.2.ebuild
deleted file mode 100644
index 79d2ff39fb45..000000000000
--- a/sys-devel/llvm/llvm-15.0.2.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${SLOT}
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV/_/-}-r2
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
^ permalink raw reply related [flat|nested] 860+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
@ 2022-10-23 11:43 Michał Górny
0 siblings, 0 replies; 860+ messages in thread
From: Michał Górny @ 2022-10-23 11:43 UTC (permalink / raw
To: gentoo-commits
commit: 677cb4f9932d4fdd9d4022fb4a788b6589c3411a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 11:40:20 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 11:43:24 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=677cb4f9
sys-devel/llvm: Remove 16.0.0_pre20221010
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-devel/llvm/Manifest | 1 -
sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild | 523 --------------------------
2 files changed, 524 deletions(-)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 28460755ca40..fafc348837ef 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,5 +10,4 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04
DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856
DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916
-DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
diff --git a/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
deleted file mode 100644
index 4eebbc15117c..000000000000
--- a/sys-devel/llvm/llvm-16.0.0_pre20221010.ebuild
+++ /dev/null
@@ -1,523 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS=""
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
- binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=9999-r3
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only f