diff options
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/Manifest.gz | bin | 9493 -> 9482 bytes | |||
-rw-r--r-- | sys-devel/clang-runtime/Manifest | 1 | ||||
-rw-r--r-- | sys-devel/clang-runtime/clang-runtime-5.0.2.ebuild | 31 | ||||
-rw-r--r-- | sys-devel/clang/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/clang/clang-5.0.2.ebuild | 323 | ||||
-rw-r--r-- | sys-devel/lld/Manifest | 3 | ||||
-rw-r--r-- | sys-devel/lld/lld-5.0.2.ebuild | 73 | ||||
-rw-r--r-- | sys-devel/llvm-common/Manifest | 2 | ||||
-rw-r--r-- | sys-devel/llvm-common/llvm-common-5.0.2.ebuild | 35 | ||||
-rw-r--r-- | sys-devel/llvm/Manifest | 3 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-5.0.2.ebuild | 256 |
11 files changed, 732 insertions, 0 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz Binary files differindex df6fa0b0c6f5..925c6d9b216a 100644 --- a/sys-devel/Manifest.gz +++ b/sys-devel/Manifest.gz diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest index 33338d1ed93e..40c1866b7bc4 100644 --- a/sys-devel/clang-runtime/Manifest +++ b/sys-devel/clang-runtime/Manifest @@ -3,6 +3,7 @@ EBUILD clang-runtime-4.0.1-r1.ebuild 757 BLAKE2B 027d495eb3a9203db1ca76f1f6c99d6 EBUILD clang-runtime-4.0.1.ebuild 639 BLAKE2B 62665ccfdb77a3635995b6ec9a59589e3d5e5b39c3940b378acc314fc9fcb4af23f7d44fba89f61eceb4055622b9d7c35ae26724b3cc207c06ac60bd2eda5a75 SHA512 b42d5fbf0082e194f4fc4ddf987a2d1dd0f06fc673b590ec278b45cacb8854c207b26cd159fe4cccdd1a123884037fff7c9e5908d0f329b93ff4ef0238e550da EBUILD clang-runtime-5.0.1-r1.ebuild 815 BLAKE2B 79a99496306fa8a7c9315d5da28e68d88c0ef92fa7aac53982190a6f008e2013a6a4d60e68683ffd8fffb08b40986ddc393a2f4967a47c05cf876c8558310d88 SHA512 614cb030b1930e8f6f1837d5110b2b87865bc6444a49c34f67abba85419568dacf303720364d2ce2f021b39a1f98760a1ccfe3b65ea890172b8dd1961e199561 EBUILD clang-runtime-5.0.1.ebuild 685 BLAKE2B 28192550762e053ba121c73c3001d7abd8f3e40cf85c609a51f878a8c5d40e66b10cc3f844a72d7dd552a5cd0d1742cdbf0fbdb8a58b163d34f2f7e6dc11a085 SHA512 5033510813fdeca2497a16556b7e27189f18aa3d04287dd62854883011c4c41257bb897a9130222ff07b8b5ba4b31f206960d35391735c5dad97243471a41027 +EBUILD clang-runtime-5.0.2.ebuild 815 BLAKE2B 79a99496306fa8a7c9315d5da28e68d88c0ef92fa7aac53982190a6f008e2013a6a4d60e68683ffd8fffb08b40986ddc393a2f4967a47c05cf876c8558310d88 SHA512 614cb030b1930e8f6f1837d5110b2b87865bc6444a49c34f67abba85419568dacf303720364d2ce2f021b39a1f98760a1ccfe3b65ea890172b8dd1961e199561 EBUILD clang-runtime-6.0.0-r1.ebuild 815 BLAKE2B 79a99496306fa8a7c9315d5da28e68d88c0ef92fa7aac53982190a6f008e2013a6a4d60e68683ffd8fffb08b40986ddc393a2f4967a47c05cf876c8558310d88 SHA512 614cb030b1930e8f6f1837d5110b2b87865bc6444a49c34f67abba85419568dacf303720364d2ce2f021b39a1f98760a1ccfe3b65ea890172b8dd1961e199561 EBUILD clang-runtime-6.0.9999.ebuild 780 BLAKE2B c10fc2663938e138f6ffba72fbf4bd87fbd93ed89a40992c0960ba18ade6e162544612c921e49d2f03476b758f0269a16375dba129e19b6a3f7ca88d98d2674c SHA512 90fd1d2a1cb62efc6d877efa8a794a6d16ae6032e5af52c50ff2e8ecb8a1a4552d757ec8dda0f905c78a3e068dd848e9155494c84faec649860be4441f69322e EBUILD clang-runtime-9999.ebuild 780 BLAKE2B e62543ab7d24e09ee7c933283e3445103d943196b02fb4891db1af30aef4ee53c709f8f640b4478fc622fdbb243e981fcafbc42fca7cd1e2d2c56576540dab0a SHA512 ab53bd4228bca6cf4eeb52159433dcb0db57fcc920b6c2e2da4f1b43fa65c0de26d8ad6d7a1655eed44031c1deeeff0acd88f80d107f5bdbc7d776cc66f9af06 diff --git a/sys-devel/clang-runtime/clang-runtime-5.0.2.ebuild b/sys-devel/clang-runtime/clang-runtime-5.0.2.ebuild new file mode 100644 index 000000000000..5fdd2d6b0a90 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-5.0.2.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib-build + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="${PV%_*}" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="+compiler-rt crt libcxx openmp +sanitize" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT} + sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) + ) + crt? ( + || ( + sys-libs/netbsd-csu[${MULTILIB_USEDEP}] + sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}] + ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" + +REQUIRED_USE="sanitize? ( compiler-rt )" diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index 14a15456bf9b..bdab655957c2 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -10,13 +10,17 @@ AUX 6.0.0/0001-Driver-Avoid-invalidated-iterator-in-insertTargetAnd.patch 2041 B AUX 6.0.0/0002-test-Fix-Cross-DSO-CFI-Android-sanitizer-test-for-rt.patch 1256 BLAKE2B e71f32b08defa1ba59b574e9314e272107638676f1b1469a448efced144c680ffde4d76e34fa3fa5786859bf6e04050bd23150d7c0b98f8849f5d9355eacb646 SHA512 260096c1c7e6ba6f35537873cb6ba83f2271cb50446c50f6f1a5c88138c23508df16c99cac8664b5be0d56f2e0fe288f51a27424ff0b56c317d7a7e07562e0fc DIST cfe-4.0.1.src.tar.xz 10933628 BLAKE2B bc1bb8875e83ccecd446a48cfa41f5c98a09d6ad24ff439a983f629711b4513b9c4bee4070f8df13b6b2a52d673b0706733a4c151ce5021a0233147debff14ac SHA512 936c9e1626b27e63a4fb11f3c0cb998eeaf9a520ad6e2bcd67cb4352e59e7781ecc700df79794f3fd70473d90b7e2ba418a39038eb0146b68e843f0705c1f964 DIST cfe-5.0.1.src.tar.xz 11483036 BLAKE2B c4eb54cd8271b62cf7a2219db0b599b68c00b6e574d1946220efbd1633e841796e6717d6eeb35e84a6db32a731a3285b59cedeb3b1a8f3c3c502b799fdd0a720 SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2 +DIST cfe-5.0.2.src.tar.xz 11459216 BLAKE2B 80d9b2ab70b00c0dfd5c5386a44e0c15d8252e6175c9da55a0519c4f9b8192e32e215110d7d3808225786e2c7f906f2dfbe11dd09bdf21574e99709ae237ed0b SHA512 9931afceb5569ad6caec85d506180c810f7fea94af8c997143b0a37cbf413fcea0d92520478610627eeee1efb65fde684066ace0dfcbbf7b61ecd709d22dd0b1 DIST cfe-6.0.0.src.tar.xz 11959224 BLAKE2B 257edbaedf72bd941b67b4aa2f152a96a37bbea72d21d22d4445152685efe40d75b9a7a39955545643e841ad6693ef12e52b207b9119098774f39e858b64bc09 SHA512 e886dd27448503bbfc7fd4f68eb089c19b2f2be4f0e5b26d3df253833f60b91d70b472a6b530063386e2252075b110ce9f5942800feddf6c34b94a75cf7bd5c6 DIST clang-tools-extra-4.0.1.src.tar.xz 581788 BLAKE2B 52ca89eda6fe1e0fbbdc46e17f4067f03a9a9440dcdcc98811651087d0c9ab24dfe3eefb0b80a32ec41abe0766cb3e47031de61c4cff02b7d0e08c8fd03e3faa SHA512 ea26d926f428e62e76cf8a073e63ffe05645f6592e05d7717d5c257908870ae9217727d3e1578227b14eda5937085872463f1a8e99970256179c68b8a92e69e0 DIST clang-tools-extra-5.0.1.src.tar.xz 646328 BLAKE2B 472eb1e73a17564790919ec392dddcd91f131c1cbf2a5f3cab09a9f7126d4d18ec6785ffcb3c3230eec6edc90acbe2bf859367c37f62ba77d7542f4c18b925f3 SHA512 2e6a811cccd22281f7567f5626ff0484ed1fefee4a9244a717e3ccb9516dce9e7ff315044fb10e505e91c3f1c6d2774558debb9559915d053886599bcb153d7b +DIST clang-tools-extra-5.0.2.src.tar.xz 646272 BLAKE2B 8a15a0c3ed9e8c31706d744017aa8be52616037790075c2314c3a613c9e1aa86b0b980c4e3bd9a775b234440f17436392196b41f1691ab25a33b432a25affb68 SHA512 241d85652e7c3ad5d77754ad9a694bddab3c14098067da4119223007c5a4a765d1cd7e7c7dba91666ccd5506f8703c82c9ee487f28249a00c2c4edbd0d1f2640 DIST clang-tools-extra-6.0.0.src.tar.xz 757680 BLAKE2B 708e21055a702c41a94f6b8673bab405f8b1339a75ec66f14c31565ef802245900bafc25e636c6e82f01e74060a6429a19442317f948011cae59af6825808343 SHA512 9c5720b8694c235ca988ef45da1d564ac06e31c0a40600b32c0b9df399693e4eba296ca43b077ed97adba085362ddb0fb94e0d28232afc3e7351820b1285061f DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334 DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb +DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492ccdc9fd2c26cc7dfbd8fb2b9e68418ca8fdf42cdc303c361e649cc6939bf5229cbad017bdccbd5d791e92752328252f SHA512 568615bce5a75d42e4b6d592557472d366d49a99f8e81be10ae679804f1fe674c7fd0bbdac09af44fc67ee5aa34c4ed2153c2767c536ac8e45dd15c811c92dcb +DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.0-manpages.tar.bz2 102668 BLAKE2B f458cbfcfdd6600f90f9bbe8cd9681de3dc11c62dbfcaa5ba7a281ad30d6367c33bebd5090c255e85a10b00b7bcb9c988d340b67f1db51982f55956acba109e9 SHA512 a7ed3e246e6488254f19dbb8484c079be39bc52f9b2fab3f736dd013683b7f46e8e036ee571dec5066c86ee7c25713608a2426555e8ad04b81891912314ee48e DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 @@ -27,6 +31,7 @@ EBUILD clang-3.7.1-r100.ebuild 972 BLAKE2B 10a79e07cdf78a7204011d44605c00eb8677a EBUILD clang-3.9.1-r100.ebuild 1471 BLAKE2B a3f8f43d3f07cc8598a4bdd8e0c59d1da6528a64bf3c7d3b5f54ac972ff8ec49d83bed04a6646d1f87b525db1dcb597184fd7fc0bc6bc1c5ad85052990ea7f40 SHA512 6868f0fff8faf5a10e9573e76a26000078a94dabe442398d454b3e06a4e1e678670fa57ce10c60ec607601ef72a2f328ef6483a369ecd23b1f6cc59b2755e5b6 EBUILD clang-4.0.1.ebuild 9614 BLAKE2B ba22e432cd595ecb6a4c13fd4a6de428242b13138f0f079826b4acfd37515c69776800cda3c6533338986bb0db75fa814905a3a4649ebf8812872e97ad1d5a9a SHA512 d533ebcc2d5cfc801d71f95414aa510a4d3143b55fc0917a899a863d19ad8618ba31db6991ad3b73db4959bb2b2e37ea9410e99d2d85cbb81348db1d3af1bf2e EBUILD clang-5.0.1.ebuild 10440 BLAKE2B 13bc01d728e98302c8f1708c805e5528fa5f924ac892f17a3f06684fc43448e8d97159f1b9361e633eaccf0717242c4778481f10bff92063256b3307bf7197ab SHA512 57b7dc557e5144d3cc9f7c7560ffaa51ca5af184031b01acb74fd565171d80bfd973f82c7406f8dc624d59f183f12aea8e925465e1059ce1f8a8ce2c2d2fdd94 +EBUILD clang-5.0.2.ebuild 10442 BLAKE2B 5fa2646fa9965c3b843e751a5fce47b76a08fde65d55f70f2d314738dd48e8affaa9ade37d87685c5e9c546aa35c4d1d916ef33acd83484e954c91b3db8a8551 SHA512 d0554f3fc4ceea7cb9d7d33d5aba41c8589fba55e75b551bca861ba517fd77ee8abe89a97d80bedd0852b491d7472e76257eaa643086b925b5253f924545b33a EBUILD clang-6.0.0-r1.ebuild 10442 BLAKE2B fa6fce2064b50cedfa4fbf4584f135b605810c39a70d32323f06eef5883c82a77918c0d66fd7b13de5f0bdc55e4c16f484c7fe43c1cfde07704c17fe79629b3e SHA512 9392f1949b9f6a522840acbd54ddb187eb5680cd665790ac55eb279580f36325a747c0e4b9845b605483e7f64abddad1f1232c708c26578562bf1906f4310316 EBUILD clang-6.0.9999.ebuild 9415 BLAKE2B c605173c0fbe72841bb6dd63c3f7823c8aeb170c6fdab53a6a0e3470595cd537ed9ad82187d54e2bf2f4d5a19857f509fc0c4cc26824cdc06069340538d7223f SHA512 aba7391f35fb3c47b4d6f447d69bd44c44658bd95171ea74924687a0daff1a1483a94a096e57131da86cbbf6642b513c3ad39d133f2a589e4b8e5b053d3e66a6 EBUILD clang-9999.ebuild 9487 BLAKE2B d8705c29b9a4e60608af3910a47e91d5a16cf531370b968511e96261207747cdf47981d2ab435a8c1e3ba4fda863248a299609ef2ae79c04aa2f6d68ad586daf SHA512 434bcd703b29bd9491368c0f665581cf3d2569743b311d6430031baf7943ed7d7c1dbd27b8c243c087a709bc0d4e04605648066a7d237888d78b2bd5df179e31 diff --git a/sys-devel/clang/clang-5.0.2.ebuild b/sys-devel/clang/clang-5.0.2.ebuild new file mode 100644 index 000000000000..6c0b434af8a8 --- /dev/null +++ b/sys-devel/clang/clang-5.0.2.ebuild @@ -0,0 +1,323 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils eapi7-ver flag-o-matic llvm \ + multilib-minimal pax-utils prefix python-single-r1 toolchain-funcs + +MY_P=cfe-${PV/_/}.src +EXTRA_P=clang-tools-extra-${PV/_/}.src +LLVM_P=llvm-${PV/_/}.src + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz + https://releases.llvm.org/${PV/_//}/${EXTRA_P}.tar.xz + test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz ) + !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 )" + +# Keep in sync with sys-devel/llvm +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC Sparc SystemZ X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer + test xml z3 kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" + +RDEPEND=" + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] + static-analyzer? ( + dev-lang/perl:* + z3? ( sci-mathematics/z3:0= ) + ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ${PYTHON_DEPS}" +# configparser-3.2 breaks the build (3.3 or none at all are fine) +DEPEND="${RDEPEND} + doc? ( dev-python/sphinx ) + xml? ( virtual/pkgconfig ) + !!<dev-python/configparser-3.3.0.2 + ${PYTHON_DEPS}" +RDEPEND="${RDEPEND} + !<sys-devel/llvm-4.0.0_rc:0 + !sys-devel/clang:0" +PDEPEND=" + ~sys-devel/clang-runtime-${PV} + default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* ) + default-libcxx? ( >=sys-libs/libcxx-${PV} )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + || ( ${ALL_LLVM_TARGETS[*]} )" + +# We need extra level of indirection for CLANG_RESOURCE_DIR +S=${WORKDIR}/x/y/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +pkg_setup() { + LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_unpack() { + # create extra parent dir for CLANG_RESOURCE_DIR + mkdir -p x/y || die + cd x/y || die + + einfo "Unpacking ${MY_P}.tar.xz ..." + tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + einfo "Unpacking ${EXTRA_P}.tar.xz ..." + tar -xf "${DISTDIR}/${EXTRA_P}.tar.xz" || die + + mv "${EXTRA_P}" "${S}"/tools/extra || die + if use test; then + einfo "Unpacking parts of ${LLVM_P}.tar.xz ..." + tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \ + "${LLVM_P}"/utils/{lit,unittest} || die + mv "${LLVM_P}" "${WORKDIR}"/llvm || die + fi + + if ! use doc; then + einfo "Unpacking llvm-${PV}-manpages.tar.bz2 ..." + tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die + fi +} + +src_prepare() { + # fix finding compiler-rt libs + eapply "${FILESDIR}"/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch + # fix setting LD_LIBRARY_PATH for tests on *BSD + eapply "${FILESDIR}"/5.0.1/0002-test-Fix-clang-test-for-FreeBSD-and-NetBSD.patch + # add Prefix include paths for Darwin + eapply "${FILESDIR}"/5.0.1/darwin_prefix-include-paths.patch + + cd tools/extra || die + # fix setting LD_LIBRARY_PATH for tests on *BSD (extra part) + eapply "${FILESDIR}"/5.0.1/extra/0001-Assume-the-shared-library-path-variable-is-LD_LIBRAR.patch + cd ../.. || die + + cmake-utils_src_prepare + eprefixify lib/Frontend/InitHeaderSearch.cpp +} + +multilib_src_configure() { + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-3 "${llvm_version}") + + local mycmakeargs=( + # ensure that the correct llvm-config is used + -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" + + -DBUILD_SHARED_LIBS=ON + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -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 "") + + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + # z3 is not multilib-friendly + -DCLANG_ANALYZER_BUILD_Z3=$(multilib_native_usex z3) + ) + use test && mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + ) + + if multilib_is_native_abi; then + mycmakeargs+=( + # normally copied from LLVM_INCLUDE_DOCS but the latter + # is lacking value in stand-alone builds + -DCLANG_INCLUDE_DOCS=$(usex doc) + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) + ) + use doc && mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + use z3 && mycmakeargs+=( + -DZ3_INCLUDE_DIR="${EPREFIX}/usr/include/z3" + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if [[ -n ${EPREFIX} ]]; then + mycmakeargs+=( + -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" + ) + fi + + if tc-is-cross-compiler; then + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DCLANG_TABLEGEN=/usr/bin/clang-tblgen + ) + fi + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake-utils_src_configure +} + +multilib_src_compile() { + cmake-utils_src_compile + + # provide a symlink for tests + if [[ ! -L ${WORKDIR}/lib/clang ]]; then + mkdir -p "${WORKDIR}"/lib || die + ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake-utils_src_make check-clang + # clang-tidy requires [static-analyzer] and tests are not split + # correctly, so they are all disabled when static-analyzer is off + if multilib_is_native_abi && use static-analyzer; then + cmake-utils_src_make check-clang-tools + fi +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED%/}"/usr/include/clangrt "${ED%/}"/usr/lib/clang || die + # move (remaining) wrapped headers back + mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die + + # Apply CHOST and version suffix to clang tools + # note: we use two version components here (vs 3 in runtime path) + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-2 "${llvm_version}") + local clang_full_version=$(ver_cut 1-3 "${llvm_version}") + 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 "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/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/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" + done + done + + # Remove unnecessary headers on FreeBSD, bug #417171 + if use kernel_FreeBSD; then + rm "${ED}"usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die + fi +} + +multilib_src_install() { + cmake-utils_src_install + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || die +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view + fi + + # install pre-generated manpages + if ! use doc; then + insinto "/usr/lib/llvm/${SLOT}/share/man/man1" + doins "${WORKDIR}/x/y/llvm-${PV}-manpages/clang"/*.1 + fi + + docompress "/usr/lib/llvm/${SLOT}/share/man" + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" + elog "To use these scripts, you will need Python 2.7. Some of them are vim" + elog "integration scripts (with instructions inside)." +} + +pkg_postrm() { + if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index c3306c237db6..3cb09a0cd580 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -2,12 +2,15 @@ AUX 4.0.1/0002-test-Use-LLD-specific-binary-library-dirs-when-build.patch 4381 B AUX 4.0.1/0003-test-Fix-zlib-cond-when-building-stand-alone-clean-u.patch 2924 BLAKE2B d429f8354506562ed8b11e1c34344a3d3868a74125d794e291ab89753328da2fe615300a005fd74735bf13c02ed20672377d806b9676fe49a955a38a2d8bd5e2 SHA512 1b82f754fb872318740f77f78fa08647e2523d5b6d9cdd0dd9108bdac82a213d5d5c698a8915c0f6bd60b2163cce3c8bd1c13095dad52d0beb08079f851d30d8 DIST lld-4.0.1.src.tar.xz 593796 BLAKE2B 58eb8f013a4562ef60dd7e17ddd741f434b8f0228a3d3d746ec8c30521ce667863d0b6db6565659a1b86cb91550cdaa43a27600d3a979460523faf24eac8ea3f SHA512 63bd0813094dc7fa9a95fdee93eb7b97026882a15548f819b5c67f3f0f9fa2a582d968af27ad8f802dbff1f6cd1b8c2fb26b3c7c80379488d05c4a4984d7af68 DIST lld-5.0.1.src.tar.xz 672952 BLAKE2B 67bb6687f04f809b12e0b65a047c493f89a22984e8d3ac35aaf18bd3179a97efd7798e2b38e00cd00cde07ccf37a1361f4de8a3eb1481571c039195b5214d6b6 SHA512 62c9682ae4e18a64af2c9e13d45925fbe022ca332d03b1c4232c6b730dab327418555c8da2b2bf8c6126032dfd378a0b9dedba83351d928784bf2b1f30dfaaca +DIST lld-5.0.2.src.tar.xz 671776 BLAKE2B 11c470fb7eb4e8ddad043cff7daa714b55b862fe0a540e135db7252314caa101e3bb9063d5a7b32e0a86721cc01f602cafe087566d49ef5c6865f19ba3daf6b3 SHA512 6edafc277a5475a4b44fdf2d77bb8d0a80e8717f74c6db6c0208e0f1492a552f50640503ba8687bcd87a3d677b571dc4f9579b1e5c0bf53059c259ecbcc78c0e DIST lld-6.0.0.src.tar.xz 790532 BLAKE2B 473b618bac2884f118e0e6dd28a74f90157b9818c442ae5d6d9d19ebff56ff17da73323c440d70e09b5b6fed60528b52cdea1081435c11d2b02375be5ba75bea SHA512 ae7f7392f8495e5bcd7635a377b536c5e7a0affa5e33f52b7a26ddb3c5be70797c970734514f15f352ddfadd75be0244a8aeeca9f0fe18eb4612c9598706cb63 DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb +DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c EBUILD lld-4.0.1.ebuild 1721 BLAKE2B f3e848199052fbec33376e9630afd80c031cd729457d1e3c302d78c42a128cc7d8baa626ed294bdde19dc2ec00683a01e4e9d5d0f6d893e24a575024b9e92556 SHA512 e971195cbf8976a0bd5140c62c3c4d9a375beaf3813119342f3f8f28db9843e53dc9804cb13b6f1a49a1b7dc60cd631cd69f742faf1de56001f59230625dbef1 EBUILD lld-5.0.1.ebuild 1589 BLAKE2B ce6f2b7d0b095223600a236432966cbc44d89d781f6fe20b699aeb77b859bbcdf65bab0b1ad37df63918ce95f75c018a5eb9d56605e5d56d057e062399427271 SHA512 16b397e9d580a52fa430b07788a1c73aabfdc3dec87ed8ee12807e231c9590f637966f412a0657a574476b3b27b0a952718c61de955246cc1f585ab4526d49cc +EBUILD lld-5.0.2.ebuild 1589 BLAKE2B ce6f2b7d0b095223600a236432966cbc44d89d781f6fe20b699aeb77b859bbcdf65bab0b1ad37df63918ce95f75c018a5eb9d56605e5d56d057e062399427271 SHA512 16b397e9d580a52fa430b07788a1c73aabfdc3dec87ed8ee12807e231c9590f637966f412a0657a574476b3b27b0a952718c61de955246cc1f585ab4526d49cc EBUILD lld-6.0.0.ebuild 1736 BLAKE2B fc3a21c3abd1e6777644dcbef0e7ce1fd6b4b895934fd39a8c265926e24f33bd84382d4d1e9c357b06885364e75d495f79100bd039465ac3f69a410a6a5c6ce6 SHA512 7d1833c83406eae3af97546bbf4a34d7f9744bed0b541a06114f6406f73a4dfff15f6b2f3a6643b9840208999485cc4109c79052cb4d8f3fa65afff8554c81ce EBUILD lld-6.0.9999.ebuild 1674 BLAKE2B 6215027239cbbed1103de0d523ff2bbf9db577e9c2e82d3beb9be128dc81c1f3545e4634cfa9f13f1cd63e104bc18ac1e6a95f3f1b99eea7ce8a6b1e5e626702 SHA512 e2a4c044bea9c2210f6556b9e11d7fed2a5be980479a98ffc2bbfd070223eb941a7a9544b912409d982d02e0949933f72fc05d4091d63f88f45c0e3998c5abbd EBUILD lld-9999.ebuild 1625 BLAKE2B 2308235d2368d9eb25a1d8ae41eaa6b182475e5d49aeb37ff5fc025cb500d268a2f935b4dbe26ed1c2ab950d082e40030a5d5d39a5e3357ca8610f927ccc0fb6 SHA512 6abdc37eef950c50164a29752ab370e08aefe9db909a4ac2ec1f9eb1e6a8b3fdca8ed776945f0e9b745bed11633b2ff33f1f00853e7fdfd22664756eba839f14 diff --git a/sys-devel/lld/lld-5.0.2.ebuild b/sys-devel/lld/lld-5.0.2.ebuild new file mode 100644 index 000000000000..a73ea749a341 --- /dev/null +++ b/sys-devel/lld/lld-5.0.2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils llvm python-any-r1 + +MY_P=${P/_/}.src +LLVM_P=llvm-${PV/_/}.src + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz + test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )" + +LICENSE="UoI-NCSA" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="test" + +RDEPEND="~sys-devel/llvm-${PV}" +DEPEND="${RDEPEND} + test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )" + +S=${WORKDIR}/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + einfo "Unpacking ${MY_P}.tar.xz ..." + tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + + if use test; then + einfo "Unpacking parts of ${LLVM_P}.tar.xz ..." + tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \ + "${LLVM_P}"/utils/{lit,unittest} || die + mv "${LLVM_P}" llvm || die + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + + -DLLVM_INCLUDE_TESTS=$(usex test) + ) + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLIT_COMMAND="${EPREFIX}/usr/bin/lit" + ) + + cmake-utils_src_configure +} + +src_test() { + cmake-utils_src_make check-lld +} diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest index 5e129e7d89b6..d38048d43b0d 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -1,8 +1,10 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb +DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c EBUILD llvm-common-4.0.1.ebuild 641 BLAKE2B a8543b8d909c48caecbcc423f15742aa56412971320650a87742cf907b0d0d3d143e7caa54b947b592380b40d340bd1957c8df05053f6cc6f932332ce5e71eb7 SHA512 b497a3c7edd56bb634e307a8ad9acecb6f21f2f262ab5f50ee6c9b2bd4c40f0defd8df61ad6f0b0c74222468388cb18d3634e0a0d1662ed4c74d5c2e3db30188 EBUILD llvm-common-5.0.1.ebuild 832 BLAKE2B b71a86abf77cf505810463c592563717c0941013183dcd42c6f3e0afc3e19b3cdf7a3d583eb1ed48cdfe80c46dba23fdce38c783f845744adb8101b655bfc5cd SHA512 f147fb0f7ead70c26458ec7a776773eb16a148952a5f36703974f3983fe411ed7f7293b88bd3353c55e0316301d10a52a587cab257b104091cc8e9733b175fad +EBUILD llvm-common-5.0.2.ebuild 835 BLAKE2B 89dbfb278d1dffd42b066901aef2c63c1671206d2cf40246c9bf5bed2610b0c1feddf6c2e6ece9553fd2318a1f86966cdcdb2b2181f1c91bc3111ee234322418 SHA512 2c67d15602719a45d3863b79ff11a61f287ee5aaa45b859aee741a9bcaff011300e61550d37935901e00475b501e519ca39efed9a3554155b9f770a480f6e155 EBUILD llvm-common-6.0.0.ebuild 835 BLAKE2B 89dbfb278d1dffd42b066901aef2c63c1671206d2cf40246c9bf5bed2610b0c1feddf6c2e6ece9553fd2318a1f86966cdcdb2b2181f1c91bc3111ee234322418 SHA512 2c67d15602719a45d3863b79ff11a61f287ee5aaa45b859aee741a9bcaff011300e61550d37935901e00475b501e519ca39efed9a3554155b9f770a480f6e155 EBUILD llvm-common-6.0.9999.ebuild 729 BLAKE2B 8455b714f371250a13d032a0bc9cc64fe16a670da92e3f9b46dbc05d79084083cc02db2eea0a1c477877e9c3b2c3b0bb5706539fc83a6089fb79ffd5f6d600d3 SHA512 a697745f5f07f002d3a789583bb3df163713b372147ddc41ca4e6395f9b9de51407aab376cfa8d6ef7276bc9c221f0a9ce2a763f347b3a04656fca5ecc93d258 EBUILD llvm-common-9999.ebuild 704 BLAKE2B bfcd46a0c3754d0c5542eb1b03c8696ef355ebe34e94c98ab6a23442a88bc6b9a8aa8d2c89b18ed0ceea47bd2adcd7df67c8d201876a04ba7816257f83c53706 SHA512 4a7fd7260e93fa3b44a565c915a8be2e207085a506018b97263740851fd78dacf88e582b73d74a06aa36de2975b751c258ceb7997a5e6ee7db4d404fbed865bf diff --git a/sys-devel/llvm-common/llvm-common-5.0.2.ebuild b/sys-devel/llvm-common/llvm-common-5.0.2.ebuild new file mode 100644 index 000000000000..b4d44abdf980 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-5.0.2.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P=llvm-${PV/_/}.src +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz" + +LICENSE="UoI-NCSA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="" + +RDEPEND="!sys-devel/llvm:0" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + einfo "Unpacking parts of ${MY_P}.tar.xz ..." + tar -xJf "${DISTDIR}/${MY_P}.tar.xz" "${MY_P}/utils/vim" || die +} + +src_configure() { :; } +src_compile() { :; } +src_test() { :; } + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r utils/vim/*/ + # some users may find it useful + newdoc utils/vim/README README.vim + dodoc utils/vim/vimrc +} diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index dacf5481f3d2..83c4504fc54e 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -37,6 +37,8 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10 DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334 DIST llvm-5.0.1-patchset.tar.bz2 4204 BLAKE2B e7282e84578631d88549bdf34e5a44e0294e47ef1fee29c0cb954d7afd160d4b6a0f39bb3bd53791ea53503a60eaa0ada0a512a63d696ff096dc6f21f4aecdc7 SHA512 395ea2b13008e222c034e2bdd8c2bb033b9c01e61fb89c840f009f6cddb499b317df8b061d29f40968d8f0df5540a2f4a9de31eef1de886796c8c334f37254eb DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb +DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492ccdc9fd2c26cc7dfbd8fb2b9e68418ca8fdf42cdc303c361e649cc6939bf5229cbad017bdccbd5d791e92752328252f SHA512 568615bce5a75d42e4b6d592557472d366d49a99f8e81be10ae679804f1fe674c7fd0bbdac09af44fc67ee5aa34c4ed2153c2767c536ac8e45dd15c811c92dcb +DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.0-manpages.tar.bz2 102668 BLAKE2B f458cbfcfdd6600f90f9bbe8cd9681de3dc11c62dbfcaa5ba7a281ad30d6367c33bebd5090c255e85a10b00b7bcb9c988d340b67f1db51982f55956acba109e9 SHA512 a7ed3e246e6488254f19dbb8484c079be39bc52f9b2fab3f736dd013683b7f46e8e036ee571dec5066c86ee7c25713608a2426555e8ad04b81891912314ee48e DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 @@ -47,6 +49,7 @@ EBUILD llvm-3.7.1-r3.ebuild 16384 BLAKE2B 79560163f422e3b897eefae8ec2ac905a18a4c EBUILD llvm-3.9.1-r1.ebuild 16317 BLAKE2B a4edb45656ae073f618d899787a339b0c5e7f8f0bab9a5030c33c85ba9761e9e510021b139aebc422902da55bf5b1ff2caf5c66604f338768eed359ad8bb84d5 SHA512 ee31d4f2612a413aafc906880ea4d7f06c276aa4a0dee9635ac9ec076539ee14c82ce4cc81cd689f6812ae74eaa421ca8648d3d143d5ec238aaf602692f99434 EBUILD llvm-4.0.1-r1.ebuild 6874 BLAKE2B 1fc78d0d42ed2bf901bdef44262f4ef68a933c89a3cdc43b1d7d2ef39b326499465d32ddd6109128635d68e03293f236cb30b5ddee78999c0e314aadc7c5ae8c SHA512 752e037d12f2906df36c1aebba064dabda343dea1e35af8e7e6cf5e7f739d4f45c9a9ac2e47d92e40d281961421b4b1c630d58f1bf76582876ec168b310d9cd7 EBUILD llvm-5.0.1.ebuild 7662 BLAKE2B 9b45d4b535e33d0e6ce8ba6b16ee0766301c765474ba555e41136395723098ad34485329b4525c6bbdb4c581daa0507df0f715243c2d6a93ad2f9f0e8b256cae SHA512 ab0904b321fff9b8e7907869ba48e8d91e2bd5dcd4f2032043f1ac9fe18532cbffadac6307b062db307b4e20c2e38d8a360103aa78b10e6e88a72d3584801f2e +EBUILD llvm-5.0.2.ebuild 7683 BLAKE2B 787456fba39b764033f7621958252e263326423c8d60b1cd26efc86e45458cba90222ad08b543c424598dfc70e4aba81e171be7c74f476015743a6bf1f1ad9f1 SHA512 65de543430013fcfdf14d778055483c9315a21e741749b53af3ea5b5bb4e3ab822664086984db920dd7bcf2a05d9e090427a4121093c45d7021cedf53f466346 EBUILD llvm-6.0.0-r1.ebuild 7939 BLAKE2B 9d625c5d78a24985db63c68474195b6a7652dcd19f192efa523fd4704a15acfb4492921eb1a753da4bb2593926c073cf5ea805b701557b148ee711329f153ad0 SHA512 d5b1566a9e6a58942b591b1dc9751f1eb6df90955c4cd7d357d6bbe1225c417d2c2dafb4422d61971027da72ce12982ad5bcaf1be3bf81aefc3a10ccbd6a549d EBUILD llvm-6.0.0.ebuild 7820 BLAKE2B a2d8451d0f94dae610fa87673781ec266160efcf93625f50121358f24d2a1df415ffba00a50ebb69ae98c438bb582840615ba0fbc4a5f92cb82f00276b54e717 SHA512 f168b3b8a69b1cd3a6d91fffd99d4413bb2a8e2f28eafdba94abf3e069c7ac024a5cc8fb5a361b16b3faad51759e51753f34a9cbec6cdcebf5e4c090c33d38e1 EBUILD llvm-6.0.9999.ebuild 7514 BLAKE2B 506aec86e9f4de12d00953a33e2cbd71a29bcfd57ec621d41da18aaceebfcc56b67b830d2d6fb60293651072447947c5851f5a9d1dee64a14ede9249e33b866d SHA512 2b11e3dfdd2eec988f01cde34c1dbaa9cdd0ab4aadddd7592f9e7d782201fb0dae564fd5e69942d8da5b674353e552c4f51d164305676daf871502bb05d88be9 diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild new file mode 100644 index 000000000000..cd05103a3845 --- /dev/null +++ b/sys-devel/llvm/llvm-5.0.2.ebuild @@ -0,0 +1,256 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \ + pax-utils python-any-r1 toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz + https://dev.gentoo.org/~mgorny/dist/llvm/llvm-5.0.1-patchset.tar.bz2 + !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )" + +# Keep in sync with CMakeLists.txt +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC Sparc SystemZ X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. ARM backend: LLVM Software Grant by ARM. +# 3. MD5 code: public-domain. +# 4. Tests (not installed): +# a. gtest: BSD. +# b. YAML tests: MIT. + +LICENSE="UoI-NCSA rc BSD public-domain + llvm_targets_ARM? ( LLVM-Grant )" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="debug doc gold libedit +libffi ncurses test + kernel_Darwin kernel_linux ${ALL_LLVM_TARGETS[*]}" + +RDEPEND=" + sys-libs/zlib:0= + gold? ( >=sys-devel/binutils-2.22:*[cxx] ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )" +# configparser-3.2 breaks the build (3.3 or none at all are fine) +DEPEND="${RDEPEND} + dev-lang/perl + || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 + ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) + ) + kernel_Darwin? ( + <sys-libs/libcxx-$(ver_cut 1-3).9999 + >=sys-devel/binutils-apple-5.1 + ) + doc? ( dev-python/sphinx ) + gold? ( sys-libs/binutils-libs ) + libffi? ( virtual/pkgconfig ) + !!<dev-python/configparser-3.3.0.2 + ${PYTHON_DEPS}" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND="${RDEPEND} + !sys-devel/llvm:0" +PDEPEND="sys-devel/llvm-common + gold? ( >=sys-devel/llvmgold-${SLOT} )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + || ( ${ALL_LLVM_TARGETS[*]} )" + +S=${WORKDIR}/${P/_/}.src + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +src_prepare() { + # Fix llvm-config for shared linking and sane flags + # https://bugs.gentoo.org/show_bug.cgi?id=565358 + eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch + + # Apply the backported patches + eapply "${WORKDIR}/llvm-5.0.1-patchset" + # Copy the new binary file (we don't support git binary patches) + cp {"${WORKDIR}/llvm-5.0.1-patchset",.}/test/tools/llvm-symbolizer/Inputs/print_context.o || die + + # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD). + eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch + + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # User patches + QA + cmake-utils_src_prepare +} + +multilib_src_configure() { + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=ON + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DWITH_POLLY=OFF # TODO + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + -DHAVE_LIBXAR=0 + + # disable OCaml bindings (now in dev-ml/llvm-ocaml) + -DOCAMLFIND=NO + ) + +# Note: go bindings have no CMake rules at the moment +# but let's kill the check in case they are introduced +# if ! multilib_is_native_abi || ! use go; then + mycmakeargs+=( + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND + ) +# fi + + if multilib_is_native_abi; then + mycmakeargs+=( + -DLLVM_BUILD_DOCS=$(usex doc) + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=$(usex doc) + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use doc && mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + use gold && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + if tc-is-cross-compiler; then + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" + [[ -x "${tblgen}" ]] \ + || die "${tblgen} not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN="${tblgen}" + ) + fi + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake-utils_src_configure +} + +multilib_src_compile() { + cmake-utils_src_compile + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake-utils_src_make check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${SLOT}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die +} + +multilib_src_install() { + cmake-utils_src_install + + # move headers to /usr/include for wrapping + rm -rf "${ED%/}"/usr/include || die + mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die + + if use kernel_linux || use kernel_Darwin; then + # install fuzzer libraries for clang (cmake rules were added in 6) + # https://bugs.gentoo.org/636840 + into "/usr/lib/llvm/${SLOT}" + dolib.a "$(get_libdir)"/libLLVMFuzzer*.a + fi + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${SLOT} )) + cat <<-_EOF_ > "${T}/10llvm-${revord}" || die + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" +_EOF_ + doenvd "${T}/10llvm-${revord}" + + # install pre-generated manpages + if ! use doc; then + # (doman does not support custom paths) + insinto "/usr/lib/llvm/${SLOT}/share/man/man1" + doins "${WORKDIR}/${P}-manpages/llvm"/*.1 + fi + + docompress "/usr/lib/llvm/${SLOT}/share/man" +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" + elog "To use these scripts, you will need Python 2.7 along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} |