diff options
author | Michał Górny <mgorny@gentoo.org> | 2019-03-10 19:24:49 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2019-03-10 20:52:58 +0100 |
commit | fe01e28de7590ce82b9812956d1aad17c8f1a267 (patch) | |
tree | 24772798e876a7a9fbebd1f10b0973fad97366d3 /sys-devel/llvm | |
parent | sys-devel/lld: Drop <6 (diff) | |
download | gentoo-fe01e28de7590ce82b9812956d1aad17c8f1a267.tar.gz gentoo-fe01e28de7590ce82b9812956d1aad17c8f1a267.tar.bz2 gentoo-fe01e28de7590ce82b9812956d1aad17c8f1a267.zip |
sys-devel/llvm: Drop <4
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'sys-devel/llvm')
-rw-r--r-- | sys-devel/llvm/Manifest | 30 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.4.2-r100.ebuild | 273 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.5.2-r100.ebuild | 276 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.6.2-r100.ebuild | 280 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.7.1-r3.ebuild | 559 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.9.1-r1.ebuild | 547 | ||||
-rw-r--r-- | sys-devel/llvm/metadata.xml | 7 |
7 files changed, 0 insertions, 1972 deletions
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index 2f8313c36479..7b62f9c64cb0 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 5b59202f3591..000000000000 --- 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 fc7b03e22ba8..000000000000 --- 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 c84af618ae08..000000000000 --- 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 e431dbff768b..000000000000 --- 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 39e45f7ddb79..000000000000 --- 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 4538466dde0e..d07370205495 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> |