diff options
author | Michał Górny <mgorny@gentoo.org> | 2014-01-06 21:06:19 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2014-01-06 21:06:19 +0000 |
commit | de19bebe59da230354e69f5f5aad0a336089d398 (patch) | |
tree | 364d9d9963182286c11b343817600c3fee6a234d /sys-devel | |
parent | Bump metapackage along with LLVM. (diff) | |
download | historical-de19bebe59da230354e69f5f5aad0a336089d398.tar.gz historical-de19bebe59da230354e69f5f5aad0a336089d398.tar.bz2 historical-de19bebe59da230354e69f5f5aad0a336089d398.zip |
Version bump.
Package-Manager: portage-2.2.8/cvs/Linux x86_64
Manifest-Sign-Key: 0xEFB4464E!
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/llvm/ChangeLog | 7 | ||||
-rw-r--r-- | sys-devel/llvm/Manifest | 35 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.4.ebuild | 492 |
3 files changed, 518 insertions, 16 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog index fcb589d09585..d9bd9c2c769e 100644 --- a/sys-devel/llvm/ChangeLog +++ b/sys-devel/llvm/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/llvm # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.165 2014/01/06 13:08:40 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.166 2014/01/06 21:06:15 mgorny Exp $ + +*llvm-3.4 (06 Jan 2014) + + 06 Jan 2014; Michał Górny <mgorny@gentoo.org> +llvm-3.4.ebuild: + Version bump. *llvm-3.3-r3 (06 Jan 2014) diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index a0c10c9d60b0..2160f109dedb 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -32,7 +32,9 @@ AUX llvm-3.3-r2-gentoo-install.patch 4043 SHA256 a8e24328888dc0459fb5c24e244c30b AUX llvm-3.4-gentoo-install.patch 3528 SHA256 fa2de6dd186091b255832a9b5cb654edddd4c4a16f0f138357c813a40aa9a75b SHA512 e946e1fd422f49d2e150bd641bac0ffe6ea6757b2e6119465090a3c7f5cf69e17c00221bcf67a7fcf29628d93463fb1c57d0d009ff7834151440d779f2d33484 WHIRLPOOL 171f167802ee289716232e16a2c507e3b8dc7913b40df29c55a815ff88596871a1a970c891b0e9b361186cada4d8898e65920d014b4e6eb2178cc207f61bf6da AUX llvm-3.5-gentoo-install.patch 3204 SHA256 0c97173613505ea92f0aa79d4e04e797f1917fdc33b34daee05752bb52336d53 SHA512 f60b04f1fc7798f7869f3d80e4c163086c398e01b81220d60ccff42be5899fa036d5ab95257933e89e4c5efd04267a09015917c6a617b86b82d7ab4f5d0de221 WHIRLPOOL 81ce5835b9eb1fe1b162f35d6e37762cc8d613e67c5791f078ecd0e354a87eb92e52452bd6e9a7f70953dabea99d197786e87ed64dc802223149b8e97d6de265 DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a +DIST clang-3.4.src.tar.gz 10619607 SHA256 22a9780db3b85a7f2eb9ea1f7f6e00da0249e3d12851e8dea0f62f1783242b1b SHA512 eac282c26d46d04f3e74c6a34629aa6496882aa6f64387728be86de3eba963a97388fd4214aea7d47a801215e61c0a54663d65474effec8be2e39be1b1ed89f1 WHIRLPOOL b31e54dfdf3965ffee541a1f73725c00ff90c61ad6e23fd290c1403c055d4c4ba4d99ea9b0503af86653f6c84663730d7530b5f36d8ecbc1fe78ab53d05808b6 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 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 @@ -41,6 +43,8 @@ DIST llvm-3.2-manpages.tar.bz2 25962 SHA256 159eaaaf59a2cee66f6aa0bbc93ca4c9fa37 DIST llvm-3.2.src.tar.gz 12275252 SHA256 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 SHA512 cc66171322dbbe40bcac0e0ea5b09df8ff52df63ded304f841f32f702270d6ab1512216413ee52498c3ebee8cd39c4cd23e3855d591944bc2ac0ae76f5be62cc WHIRLPOOL c3a39b2426293d0251b7769607ade873bb6bf8d54e7c8055773a9b75742bc8e39049fb71409a258c6f3d98775b78c280d4bfe4223ba91e5ed6ecae0eddf910e5 DIST llvm-3.3-manpages.tar.bz2 27098 SHA256 46bb22d63d5fe7dd04e1a7bb7e16c03d93f2ed51d31540cfb9d97ed70059aa77 SHA512 6f24b66b13025d0606908f91ad9b4fc6de1b4aac2d97d261f6b989065476cf153d2f84792f8dd4972b95fb1a45a3931c328df3bcf8ce5ab21170a7a912a39783 WHIRLPOOL 31b9c3635b698f404b75b87c7891b4b6be9cbeb6062bcb6fba5476b0b3069a486ba60c27ab2b12b8a2da9404f666617162041860f023951050a9fc4c7d27748a DIST llvm-3.3.src.tar.gz 13602421 SHA256 68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578 SHA512 1b7f7c5e907a68f642dcbe48fdff9585cb1504022bc9d386f310ebe5d25103d0d5f7cf0abf19e0e3fd666970160a98c90033754e2b79b2fac0cf866c984f8038 WHIRLPOOL a89c0b470fde562a3402e7878b91bc0573d433ca0a60e62c9c46946d7948a4fb657b116b6bac032555e29c70d82c751876adb398fe240f5c8d0a9a2378ce1866 +DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6 +DIST llvm-3.4.src.tar.gz 15920544 SHA256 25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628 SHA512 4ccd8c4fc15dd9abc43f93b62f0b1349c419a2afeba05304fa98c157325e31dbbdb1587afc18d0a3f5dba14c95d64a3d40a825efe89ddf6f93fa96002496675c WHIRLPOOL d1ba9f49dbb6a602d4852990fe7f03f6494ef458191a6b8b731a47f208e768e1b1ba4a7828828972449b9fc685a85a78d97f9813079c33a442c5878d940b7cd8 EBUILD llvm-2.8-r2.ebuild 6305 SHA256 0d3960a19619eaa4c532ec703afda259851e40649ddec4133148459bc7e667a2 SHA512 d397e3a098bcbf9ec91bcb0520d73fc188a00c68ef2392f66bdfa5ee7902f0e3d76bf2263c499f336489eb91391fd5f52ca1918e9e6e27a009c8d87c4058db70 WHIRLPOOL d8049c39b65046a93e10016c7b12cd49246228e032258e78726f74a4471873fba7dabf57db02d7d4a99539465cad653d02efeae54dd3aaeac4bf3a03a6a5a99b EBUILD llvm-2.9-r2.ebuild 6380 SHA256 e95d4d6c0fefb602a04197b10d31fff3c4ef997ff7351deeb2b170033d4048a9 SHA512 afffc1450d8c6b45f88180187e13894aceb1cb8d62ba5ee3467d7d891e34259a29173db6596c43ad9f082430d75e5ce89612ef9de6c48716a410b69d05d62ea3 WHIRLPOOL 4659745840411d9787087d38368181054acab9ef5bd7359c56e96269ab8d169783ccb65b1a5948a9a2d35c401c91f46d61d3717730ce71d67bba6832286bc990 EBUILD llvm-3.0-r2.ebuild 5767 SHA256 62fca1169c63516f29102a3a1bb4ea74408dfd151d97a9edbfb165a2def317c3 SHA512 f7ee2bbf8b31d86c11ab07f530278e3240ec21f3c58144a9e627aef3c1fb7690935786f33368a6f56062b5daf501adebfc164fd6712985a91076897b89cdd85f WHIRLPOOL be1a6edd697e2504df033705c2cb8e37f6c17a13d77558d231172c00f91ec247785469b6e1265e25c42eb3f6f394614cf516e0e422cb54094d9ba25669c8406c @@ -49,25 +53,26 @@ EBUILD llvm-3.2.ebuild 6534 SHA256 eb16cc91887fdb035722d268caaa3e4843825403786fc EBUILD llvm-3.3-r1.ebuild 12007 SHA256 343a88ba35b67f4d86c20e29e1f4919640a9c4fbf9942fb1733945480ba1e8f5 SHA512 3db9e2ad26e803ac663b696ff615eed83a4342e4b771f161b74304bb83c61f171e02f2b176cf62663724206a57e20be52ec22cf49de234f72b32673bb2588512 WHIRLPOOL 1c423485f6161b40daa5a7ebdc38838b4bd2d6a9c540881eb3cfbf5f592b454da32758ad23c2607fe7a875c65891f7b64f3079a53ac77af5b2decb6490a6b8b4 EBUILD llvm-3.3-r3.ebuild 14232 SHA256 c93cc4b5d2f0b52fe3b61a024c192844cc7f5874ab0e620960d59aa16314dab6 SHA512 26ea2f5751cfd1c0acfffc910b3ff75fc8143acb8dc30f53e23e875d88a7e7e8a66af2eb9ec1df64e8d95615e973f84cf04a34a4deabc7121924d1837f27a2e1 WHIRLPOOL d784b48a07172fb1f8044b90ada8b24aee81655fec7fe7dc1f5e4ba1a69795f9cb522094de617712feefefecb242ab67afbeabce8e59bb27876ee91e890d2f2d EBUILD llvm-3.3.ebuild 6798 SHA256 4e53042e76ce97e6a460cda74c5dbadc1cee9009345e8f0232e28d53c8f77579 SHA512 5513887c3b5a25a678713b68c216a40801ddecbf5a4dc58d7ad01c1ec8411589e20d8662c34f117e6d64924302504c8ce74b48f3edca1f292b56881eb6176271 WHIRLPOOL 79d6adefc281699477a271f76cb8eb7992d0946b6fcda9149a0976c30138ac882f735eff08c25c0edf37ccc8e31700f6d2d51d38c354c82c06695962e8f9243b +EBUILD llvm-3.4.ebuild 14097 SHA256 5694c889995a4667511e8a66117ce129199f554f72e55eb33b2031b844d0b710 SHA512 b4de4570832f33d7f74243873b00e6551c86902fca663705712cb37fda1dc61d798948d20f7ab398d5a1a038f691cb117f9ab0fe283c16153cc03c944884b430 WHIRLPOOL 662e768a6b7a3d3455842f0d062a6777a71fbc398daecc7249eba3927c2d51be50ab60a6b7e96f9bf8d40aa2bc802cc84008b59b1b894118707a8df8a4a24bb8 EBUILD llvm-9999.ebuild 13388 SHA256 6d06ed7619491e838b26cf6b0c07a63b22a69fc50ae8adcbe0f8b5e9439d0dbf SHA512 8adcad5e994b10581906a6bd29c85606bb1ab272df667a8e3379a3b6fe907867be965d2240d7d52f8dc4d946be6557d725cf47f62692e9c48964d3529556be5f WHIRLPOOL 15e895413a6449c591cfdf02757b768964e2bc34f9a1faa2d6bc390b896b6b4ad604004b2d65917ce4c22cbd45b4e0e304188fb5a0a29e155b5085e20364d4a8 -MISC ChangeLog 27785 SHA256 0014b403781fe10a1d99a704b04fd09d6c99a8e82b585eb872d247ea178e3211 SHA512 cf1ce53d880eb64b169fdd9c4afad2b00b95d22f4877f8d2f6583884cf1b9957fc909a3d282393d246f1b97e52d6d5b3351fe0036ff0abbad17a7ac2f435c047 WHIRLPOOL b8ac70d8c361d193b7594f9307c383768487b69de5c259231f0ac1fb1debd101aaa1114f9f422afc677e97ac0775370c59da1ede99513f436a76648a5f22abc8 +MISC ChangeLog 27895 SHA256 aeff2c932fbe8757da74413a47585b3bdc5a9c0a9d176e7bb170d3f575f0a3a4 SHA512 ab5b10c5d596c1a9061a61f5dafd4a9aec487e19fa47aa978904cf43da9c9d06ffcab7a750fc525797128f9018b552919a4a3638ccff6537f9fb664a327a2d72 WHIRLPOOL 9e9148e377ce1229279969f38a25bf01ca222c04bf74db0e3e300232aa91ec16d65c337976e0b73462d0cc3e301bc1eae33755f241e37585325eefdca2b31340 MISC metadata.xml 2723 SHA256 d1bbe72da2553592ad60522f744b8339bce17487343abf372d966c1fe9cd163d SHA512 800f72039a5f0fdb175a8ddab7ae8f184907865802ffd5f139006f3a8c77053f114e2f7b01cef3f41f6fffb3f8f8b2b474fdf95461f27b2dc8ae31cbd732a14e WHIRLPOOL 462d3d2f22e29d3678621a9f89ed98a58ee60fde57da7be21fbca7fd61e106abbcb19c0e491424869302c19ca93b15c480cd7ca2a3181f2148174d44e891e190 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQJ8BAEBCABmBQJSyqrhXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJSyxrKXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC -MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO2ScP/3KN6h6g5LkefYJw29HVe55L -1qjeJOyoUdyKCYon0ayqptFO+Z+/KQN/ZVGLMHwzHicI6jeT/NW9EvIRpzElhYzi -OkbQ9r4MN4H3GErMy6/ro/vCAW9SXIkRxUZjWMlrf8PRJtC6WIpPYjaKf2bw+yu2 -oI4CCQeoJhqqKr9B30eRheipp+MPVfOPkYwTHn2IL8TylIDOvSBv0z+QOVvU7P7g -iGaEw7zOFY9IgHVOZDQGLFIz+BV+rjjiYAWSgbpVYdPqbjlfKjMPFNhzfTtVEf70 -uC7iAP6EU6rjOUK8PSeU3fF/TWE4ARoiLWpdIOC/IbEI/UOi6ks+IxpPBkiWD/2K -Jf0IOyrinv+yHxCMI+y9CM2EskxYwLuXJzzQy8InS8+HtvrudxA9Jt+MK6FuEFag -N0mjyNcPDVP+qn5lHkALwfeR5IulVcnaKrjhjBnDhjnukZ/3ijh7aHSEGXI+koi9 -1CfTcV4AAQITmNTUo6OfJ5rpVX3V5V1SkhS17B2NP3FX3l46lqjqGzSDt+42wVEe -VfIOWE00If0W6/oghgwrcRI0GEddvNF7KNcEjruPN5H91IHQeClFJ6CDXX1jevYo -pgCnQ+iW2qR/nsOHBcVD9KBNNz3PCPPdsQIML5YP3XwDonSgCMM4AmpNl29hr1OI -A8qpMhViXjKY8EYoP0sm -=/6Ba +MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOcqQP/2F038NnAm6yTC4wUfZda6ko +tYWD2GlWLJ72pmClb1UFvEN9YN0Bi4ybrcKqUTOVs1E1dWiuUw38RuOiEbKFQ7xA +szDDzmzUOfgkKG81VCONFUSgVenOMGaYj5etUMcLRjlZMY9qUBNIuzmSIHS3rkz5 +LaoiCiISrwuqgIkIoauXQC17eB4swjMjZzxPikPzelPcY8UB2Spm3Hzte1V+Qscq +F4WrkUDV/Q5G3iQFZlaiPw2LGRmRIiqWnzzFaEwnWqZwFVQwm+xwnT9lwc7d1+kf ++M224t+UdjE75Eu+/2YbCS8nZq+EnM2AHq6ip9lB/0xf4X4Tdi2iw8ntZtpJdXTK +lERCn+RX1PN7WUDQvyX0treSNQ7s3PtwEJUULJ543kgLEccBUvO3CoLOviw/uvpx +pNoOhPxoErqdEEf163uLQAibs62ToxUyLfcPk8n50OuHR8XMWbcstsAkwjN0p674 +GYM329uRKyfw5EeKBegfkp8m3U6bCJxhHIrd8qchST9bh7C3a4D5sKDhj0jOtiqx +8qeUxRaNBdSJRYoCzg7yscfchpt0o4HNZQBcFl4bvSQ/kFlg2Pnen7UXfnVwETp4 +Q8Zaz9CcLBTdbbBtbGxXDRme/uun7Wg8Tw9moxafThAbKBuhMGUQ2JFz3w9WRfIf +bdIlroVknov/sb+Jx51z +=dydS -----END PGP SIGNATURE----- diff --git a/sys-devel/llvm/llvm-3.4.ebuild b/sys-devel/llvm/llvm-3.4.ebuild new file mode 100644 index 000000000000..e964e0168446 --- /dev/null +++ b/sys-devel/llvm/llvm-3.4.ebuild @@ -0,0 +1,492 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild,v 1.1 2014/01/06 21:06:15 mgorny Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} pypy2_0 ) + +inherit cmake-utils eutils flag-o-matic multilib multilib-minimal \ + python-r1 toolchain-funcs pax-utils check-reqs + +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-${PV}.src.tar.gz + http://llvm.org/releases/${PV}/clang-${PV}.src.tar.gz ) + !doc? ( http://dev.gentoo.org/~mgorny/dist/${P}-manpages.tar.bz2 )" + +LICENSE="UoI-NCSA" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="clang debug doc gold +libffi multitarget ncurses ocaml python + +static-analyzer test udis86 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] ) + libffi? ( virtual/libffi:0=[${MULTILIB_USEDEP}] ) + ncurses? ( sys-libs/ncurses:5=[${MULTILIB_USEDEP}] ) + ocaml? ( dev-lang/ocaml:0= ) + udis86? ( dev-libs/udis86:0=[pic(+),${MULTILIB_USEDEP}] )" +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/gcc-apple-4.2.1 + ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) + ) + || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 ) + clang? ( xml? ( virtual/pkgconfig ) ) + doc? ( dev-python/sphinx ) + libffi? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +RDEPEND="${COMMON_DEPEND} + clang? ( !<=sys-devel/clang-3.4-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-3.4-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*') ) )" + +# 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 || is-flagq -ggdb; 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 + + # need to check if the active compiler is ok + + broken_gcc=( 3.2.2 3.2.3 3.3.2 4.1.1 ) + broken_gcc_x86=( 3.4.0 3.4.2 ) + broken_gcc_amd64=( 3.4.6 ) + + gcc_vers=$(gcc-fullversion) + + if has "${gcc_vers}" "${broken_gcc[@]}"; then + elog "Your version of gcc is known to miscompile llvm." + elog "Check http://www.llvm.org/docs/GettingStarted.html for" + elog "possible solutions." + die "Your currently active version of gcc is known to miscompile llvm" + fi + + if use abi_x86_32 && has "${gcc_vers}" "${broken_gcc_x86[@]}"; then + elog "Your version of gcc is known to miscompile llvm on x86" + elog "architectures. Check" + elog "http://www.llvm.org/docs/GettingStarted.html for possible" + elog "solutions." + die "Your currently active version of gcc is known to miscompile llvm" + fi + + if use abi_x86_64 && has "${gcc_vers}" "${broken_gcc_amd64[@]}"; then + elog "Your version of gcc is known to miscompile llvm in amd64" + elog "architectures. Check" + elog "http://www.llvm.org/docs/GettingStarted.html for possible" + elog "solutions." + die "Your currently active version of gcc is known to miscompile llvm" + fi +} + +src_unpack() { + default + + rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ + || die "symlinks removal failed" + + if use clang; then + mv "${WORKDIR}"/clang-${PV} "${S}"/tools/clang \ + || die "clang source directory move failed" + mv "${WORKDIR}"/compiler-rt-${PV} "${S}"/projects/compiler-rt \ + || die "compiler-rt source directory move failed" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch + epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch + use clang && epatch "${FILESDIR}"/clang-3.4-gentoo-install.patch + # Hack cmake search path for Gentoo, bug #496480 + epatch "${FILESDIR}"/${PN}-3.3-cmake-modulepath.patch + + 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" + + # User patches + epatch_user +} + +multilib_src_configure() { + # disable timestamps since they confuse ccache + local conf_flags=( + --disable-timestamps + --enable-keep-symbols + --enable-shared + --with-optimize-option= + $(use_enable !debug optimized) + $(use_enable debug assertions) + $(use_enable debug expensive-checks) + $(use_enable ncurses terminfo) + $(use_enable libffi) + ) + + if use clang; then + conf_flags+=( --with-clang-resource-dir=../lib/clang/${PV} ) + fi + # well, it's used only by clang executable c-index-test + if multilib_build_binaries && 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_build_binaries; 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 udis86; then + conf_flags+=( --with-udis86 ) + fi + + if use libffi; then + local CPPFLAGS=${CPPFLAGS} + append-cppflags "$(pkg-config --cflags libffi)" + fi + + # build with a suitable Python version + python_export_best + + # llvm prefers clang over gcc, so we may need to force that + tc-export CC CXX + + ECONF_SOURCE=${S} \ + econf "${conf_flags[@]}" + + multilib_build_binaries && cmake_configure +} + +cmake_configure() { + # sadly, cmake doesn't seem to have host autodetection + # but it's fairly easy to steal this from configured autotools + local targets=$(sed -n -e 's/^TARGETS_TO_BUILD=//p' Makefile.config || die) + local libdir=$(get_libdir) + local mycmakeargs=( + # just the stuff needed to get correct cmake modules + $(cmake-utils_use ncurses LLVM_ENABLE_TERMINFO) + + -DLLVM_TARGETS_TO_BUILD="${targets// /;}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + ) + + BUILD_DIR=${S%/}_cmake \ + cmake-utils_src_configure +} + +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_build_binaries; 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-symbolizer obj2yaml + yaml2obj lto bugpoint + ) + + # those tools require 'lto' built first, so we need to delay + # building them to a second run + if [[ ${1} != -1 ]]; then + tools+=( llvm-lto ) + + use gold && tools+=( gold ) + 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_build_binaries; 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 + else + pax-mark m Release/bin/llvm-rtdyld + pax-mark m Release/bin/lli + 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 + + emake "${MAKEARGS[@]}" check + use clang && emake "${MAKEARGS[@]}" -C tools/clang test +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/config.h + /usr/include/llvm/Config/llvm-config.h + ) + + use clang && MULTILIB_WRAPPED_HEADERS+=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Remove unnecessary headers on FreeBSD, bug #417171 + use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h +} + +multilib_src_install() { + local MAKEARGS + set_makeargs + + emake "${MAKEARGS[@]}" DESTDIR="${D}" install + + # Preserve ABI-variant of llvm-config. + dodir /tmp + mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/"${CHOST}"-llvm-config || die + + if ! multilib_build_binaries; then + # Drop all the executables since LLVM doesn't like to + # clobber when installing. + rm -r "${ED}"/usr/bin || die + + # Backwards compat, will be happily removed someday. + dosym "${CHOST}"-llvm-config /tmp/llvm-config.${ABI} + else + # Move files back. + mv "${ED}"/tmp/*llvm-config* "${ED}"/usr/bin || die + # Create a symlink for host's llvm-config. + dosym "${CHOST}"-llvm-config /usr/bin/llvm-config + + # 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 + + # install cmake modules + emake -C "${S%/}"_cmake/cmake/modules DESTDIR="${D}" install + 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= libpv=${PV} + if [[ ${CHOST} == *-darwin* ]] ; then + eval $(grep PACKAGE_VERSION= configure) + [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} + for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.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{LTO,clang}.dylib ; do + # omit clang libs if not enabled + [[ -f ${ED}/usr/lib/${lib} ]] || continue + + odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib) + ebegin "fixing install_name reference to ${odylib} of ${f##*/}" + install_name_tool \ + -change "${odylib}" \ + "${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib \ + -change "@rpath/libclang.dylib" \ + "${EPREFIX}"/usr/lib/libclang.dylib \ + -change "${S}"/Release/lib/libclang.dylib \ + "${EPREFIX}"/usr/lib/libclang.dylib \ + "${f}" + eend $? + 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 +} |