diff options
Diffstat (limited to 'sys-devel/clang')
-rw-r--r-- | sys-devel/clang/Manifest | 7 | ||||
-rw-r--r-- | sys-devel/clang/clang-15.0.1.ebuild | 464 | ||||
-rw-r--r-- | sys-devel/clang/clang-16.0.0_pre20220930.ebuild | 449 |
3 files changed, 0 insertions, 920 deletions
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index 40d718a6f49e..7f424265e940 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -1,28 +1,21 @@ DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf -DIST llvm-15.0.1-manpages.tar.bz2 228787 BLAKE2B 7a43d98cf8546457b6c8557d47c5439900b584111e314c9a38671d20f12244314c56af6a8e7427345eea7e48a9b0d51aff88b2f7ae97be5f7122c068d92a9f3e SHA512 f08620768f632b85d1ad624c1dd6f93743069113411603583fa3b540072b05a44123e8149ed2a36340ca3973e99f84291281bc8ddd0fca159a4a5509fbadd3d7 DIST llvm-15.0.2-manpages.tar.bz2 226248 BLAKE2B 7bb0cd950bd8f697107d498f2858be13e2d26cd7baa96bbb645cd627fe42e64e7b087f427d1ccd6f054e7c08056d6fbb24386f2a37e4c7e36e1d4a3fa83b19a9 SHA512 4916d863377e081a70f153b7129dfc1c4e09cbceddb2bf83863f3a95ddcb464e37eee9244750d4e9ee67a41bcb9e5edc163bf6f14bace9cb9b88ca2f70810a2f DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c DIST llvm-gentoo-patchset-15.0.1-r104.tar.xz 15608 BLAKE2B f34d9e1c5f9df74c09b25970843592df46ed10e85f8e07e37145c1ba1938481f8a68edbac0668b1259b4566508f5bf21991a5c49764d28c7c5eaaa86ece9189e SHA512 4d3f1855f513db8262240bcb95f350e0af0847e76189cd507e3bce5cd7d37d840d97fb6a4e6e9ad5ca15dfe8f7d91d7463391470ce546d46efe4010c60b5d2e1 -DIST llvm-gentoo-patchset-15.0.1.tar.xz 3516 BLAKE2B 1bc54df5272eb743b5f736cca2bd5a90cf371ee759ba3aa787910ce6cc58c5c61c3eae226a0619aa9c4e9b8639149d53582cf52fad4014e65a83f52eaeaf5b61 SHA512 380ed5ffdeacf97bf76d49bec90f8f46c53f50fdd46983ab77afda4aaa6bdc671c0e179fe9dca1d8e50e377080675575f72ca2b05582349f8710e1b3c2dc76a6 DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569 DIST llvm-gentoo-patchset-9999-r4.tar.xz 4120 BLAKE2B 0d45763a36b711e336bf1e36c361c68df5d679837e0b1cb1f9cc26bb52bf769f3c6683f56a01a7ea2bddcbf044a883ea504360a2414ad8dab1f696b8bdd61bfa SHA512 a02b08faf2fa59302161e7ac8f129592fde2e6c6ad5b273c948fa0d68e6a76f14fecc2850cec43f9a9505d483066240eaa3787c77e6bf75bbaa2c4dcacda2d16 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 -DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda -DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 -DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD clang-13.0.1.ebuild 11294 BLAKE2B 33760cbd488068389efed5c011b15288021d1f93a371d5114301a5f86e815b3a1e9ae21ed6304d90916778f2312db17339d85b6d76e5e8255614706ddc3a7cf6 SHA512 b49773a02c15c4e869682664bd5703d7e08f60be9558fdbd78da19be5d5a1158093729260106cffe4cd8a6295ba740e42cc43d07da00ed8ead14dc45899ce80a EBUILD clang-14.0.6-r1.ebuild 11719 BLAKE2B 743e26b68f15e8b4aa7acfe4f7abd095fe42a3ba6dafdff278d0bfe06f57679490e0940a1029f97d5cc3f6d4ac8b44ea63283bbad1052623ee0048fdbbeb54e0 SHA512 ec6da9dcbed9f078307e8265362a5b39dac9d97d8aadbba16395ee7ddb442d34d1d2a1e9e880da41dbdb51fcf3c741c33ac469e5f6ffa4d091adb4d1743fa12b -EBUILD clang-15.0.1.ebuild 12323 BLAKE2B ebf632eb0d92e1b6f28c10124e4cd196cf4e44e7c19da12344c7a68c2c8f680d7588f75d8d39671513f615ca45487e3a2cd2149f08f08c01bc7f8007cade8222 SHA512 386c70514dbf87a8177fd3f10f5022cd4d4ac8f876fe9558dd03ab979ce266c6dd5444ea0e43c7720f3b848297ce34ddb8ea53c561598376464000375fa7ccac EBUILD clang-15.0.2.9999.ebuild 11736 BLAKE2B 6092bef71ea8bb4179d48469df9d6ed97c4b94a532ded000acafb6754690c7c399016b34bc23671fdb694b7a5192cd8aa379977cb9bdace4990d80e4c8d1f969 SHA512 50dd2c132677833d80ec44d094208fc47e2218443c108bd1821f9f9ff99fb93d5cef73a36a6c0c6180cc4beac2671a428f336d5c6a5ca9b1b903572e90cad3c2 EBUILD clang-15.0.2.ebuild 11810 BLAKE2B 0e7f4c3e3eb9d3f238afd87100fb8bae7c4a0bf9a4fac97b6bb95822e88adf83e608e2f2fe5fcfb6b67471e4e7357ac265f33707516d7b6f054ad37b0c1940f8 SHA512 b68c91b5c0e2af3e2edfe37bf2ec56f7a054255ffc414b8e019abc9746c4519ad7bbf489a3d3e22864afe5215e069a2f8955ca2d519df2cd977a570aba7a6a36 EBUILD clang-16.0.0.9999.ebuild 11707 BLAKE2B cf81c3eaad4938bae0c3a87c71ebdfce569d9fa9ebe2a1c34a6f9376858b7fc04a18e361b3fb56160e26320456abe5cc9ee698abee0c6c4a7f9f51cc3a667199 SHA512 889a9746b1f79ec14f0acf48b32d3c9f07fdcd011fea5d1d821cb1164c8ded93e5f8b044737009e0d34c262626f3bf6b587da201ce412342674f35de7cf8206f -EBUILD clang-16.0.0_pre20220930.ebuild 11707 BLAKE2B cf81c3eaad4938bae0c3a87c71ebdfce569d9fa9ebe2a1c34a6f9376858b7fc04a18e361b3fb56160e26320456abe5cc9ee698abee0c6c4a7f9f51cc3a667199 SHA512 889a9746b1f79ec14f0acf48b32d3c9f07fdcd011fea5d1d821cb1164c8ded93e5f8b044737009e0d34c262626f3bf6b587da201ce412342674f35de7cf8206f EBUILD clang-16.0.0_pre20221006.ebuild 11707 BLAKE2B cf81c3eaad4938bae0c3a87c71ebdfce569d9fa9ebe2a1c34a6f9376858b7fc04a18e361b3fb56160e26320456abe5cc9ee698abee0c6c4a7f9f51cc3a667199 SHA512 889a9746b1f79ec14f0acf48b32d3c9f07fdcd011fea5d1d821cb1164c8ded93e5f8b044737009e0d34c262626f3bf6b587da201ce412342674f35de7cf8206f MISC metadata.xml 1419 BLAKE2B 67e54312c45894825e644eec3b17f9d788a31beb8d8acf9fd5dfb604a02e35f01a0825d71547716e78b8aad9d4f7ca4d7f6a9085afc3235e3e4ed16dd46d526e SHA512 04981d6d909c239a8183cff0cd87418d88a1b3bb4c3848a88cb82164d0c5e234ab766d9a3339293502543c3ce92f7ab4fa9c3202fb45833429511e0f9d9ad584 diff --git a/sys-devel/clang/clang-15.0.1.ebuild b/sys-devel/clang/clang-15.0.1.ebuild deleted file mode 100644 index 63702176d2d3..000000000000 --- a/sys-devel/clang/clang-15.0.1.ebuild +++ /dev/null @@ -1,464 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -inherit cmake llvm llvm.org multilib multilib-minimal \ - prefix python-single-r1 toolchain-funcs - -DESCRIPTION="C language family frontend for LLVM" -HOMEPAGE="https://llvm.org/" - -# MSVCSetupApi.h: MIT -# sorttable.js: MIT - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" -SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" -IUSE=" - debug default-compiler-rt default-libcxx default-lld doc - llvm-libunwind +pie +static-analyzer test xml -" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -DEPEND=" - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] - static-analyzer? ( dev-lang/perl:* ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) -" - -RDEPEND=" - ${PYTHON_DEPS} - ${DEPEND} -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/cmake-3.16 - doc? ( $(python_gen_cond_dep ' - dev-python/recommonmark[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - ') ) - xml? ( virtual/pkgconfig ) -" -PDEPEND=" - sys-devel/clang-common - sys-devel/clang-toolchain-symlinks:${SLOT} - ~sys-devel/clang-runtime-${PV} - default-compiler-rt? ( - =sys-libs/compiler-rt-${PV%_*}* - llvm-libunwind? ( sys-libs/llvm-libunwind ) - !llvm-libunwind? ( sys-libs/libunwind ) - ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - default-lld? ( sys-devel/lld ) -" - -LLVM_COMPONENTS=( - clang clang-tools-extra cmake - llvm/lib/Transforms/Hello -) -LLVM_MANPAGES=1 -LLVM_TEST_COMPONENTS=( - llvm/lib/Testing/Support - llvm/utils/{lit,llvm-lit,unittest} - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} -) -LLVM_PATCHSET=${PV/_/-} -LLVM_USE_TARGETS=llvm -llvm.org_set_globals - -# 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_prepare() { - # create extra parent dir for relative CLANG_RESOURCE_DIR access - mkdir -p x/y || die - BUILD_DIR=${WORKDIR}/x/y/clang - - llvm.org_src_prepare - - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) - eprefixify \ - lib/Lex/InitHeaderSearch.cpp \ - lib/Driver/ToolChains/Darwin.cpp || die -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # meta-targets - clang-libraries|distribution) - continue - ;; - # tools - clang|clangd|clang-*) - ;; - # static libraries - clang*|findAllSymbols) - continue - ;; - # conditional to USE=doc - docs-clang-html|docs-clang-tools-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(${NINJA} -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # common stuff - clang-cmake-exports - clang-headers - clang-resource-headers - libclang-headers - - aarch64-resource-headers - arm-common-resource-headers - arm-resource-headers - core-resource-headers - cuda-resource-headers - hexagon-resource-headers - hip-resource-headers - hlsl-resource-headers - mips-resource-headers - opencl-resource-headers - openmp-resource-headers - ppc-htm-resource-headers - ppc-resource-headers - riscv-resource-headers - systemz-resource-headers - utility-resource-headers - ve-resource-headers - webassembly-resource-headers - windows-resource-headers - x86-resource-headers - - # libs - clang-cpp - libclang - ) - - if multilib_is_native_abi; then - out+=( - # common stuff - bash-autocomplete - libclang-python-bindings - - # tools - c-index-test - clang - clang-format - clang-offload-bundler - clang-offload-packager - clang-offload-wrapper - clang-pseudo - clang-refactor - clang-repl - clang-rename - clang-scan-deps - diagtool - hmaptool - - # extra tools - clang-apply-replacements - clang-change-namespace - clang-doc - clang-include-fixer - clang-move - clang-query - clang-reorder-fields - clang-tidy - clang-tidy-headers - clangd - find-all-symbols - modularize - pp-trace - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-clang-man - docs-clang-tools-man - ) - fi - - use doc && out+=( - docs-clang-html - docs-clang-tools-html - ) - - use static-analyzer && out+=( - clang-check - clang-extdef-mapping - scan-build - scan-build-py - scan-view - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1-3 "${llvm_version}") - - local mycmakeargs=( - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" - -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=OFF - -DCLANG_LINK_CLANG_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - -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 - - # disable using CUDA to autodetect GPU, just build for all - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - - # override default stdlib and rtlib - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") - -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") - - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -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 - ) - fi - mycmakeargs+=( - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra - -DCLANG_INCLUDE_DOCS=${build_docs} - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} - ) - 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 can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - # 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_build check-clang - multilib_is_native_abi && - cmake_build check-clang-tools check-clangd -} - -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 "${T}"/clang-tidy "${ED}"/usr/include/ || die - 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 "${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 - # - clang -> clang-X - # - clang++, clang-cl, clang-cpp -> clang - # we want to have: - # - clang-X - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X - # - clang, clang++, clang-cl, clang-cpp -> clang*-X - # 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 -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # 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 - if multilib_is_native_abi; then - # don't wrap clang-tidy headers, the list is too long - # (they're fine for non-native ABI but enabling the targets is problematic) - mv "${ED}"/usr/include/clang-tidy "${T}/" || die - fi -} - -multilib_src_install_all() { - python_fix_shebang "${ED}" - if use static-analyzer; then - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view - fi - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages - # 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 [[ -z ${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 "Some of them are vim integration scripts (with instructions inside)." - elog "The run-clang-tidy.py script requires the following additional package:" - elog " dev-python/pyyaml" -} - -pkg_postrm() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow clean all - fi -} diff --git a/sys-devel/clang/clang-16.0.0_pre20220930.ebuild b/sys-devel/clang/clang-16.0.0_pre20220930.ebuild deleted file mode 100644 index 5a4b4bdf0a23..000000000000 --- a/sys-devel/clang/clang-16.0.0_pre20220930.ebuild +++ /dev/null @@ -1,449 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -inherit cmake llvm llvm.org multilib multilib-minimal \ - prefix python-single-r1 toolchain-funcs - -DESCRIPTION="C language family frontend for LLVM" -HOMEPAGE="https://llvm.org/" - -# MSVCSetupApi.h: MIT -# sorttable.js: MIT - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" -SLOT="$(ver_cut 1)" -KEYWORDS="" -IUSE="debug doc +pie +static-analyzer test xml" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -DEPEND=" - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] - static-analyzer? ( dev-lang/perl:* ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) -" - -RDEPEND=" - ${PYTHON_DEPS} - ${DEPEND} - >=sys-devel/clang-common-${PV} -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/cmake-3.16 - doc? ( $(python_gen_cond_dep ' - dev-python/recommonmark[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - ') ) - xml? ( virtual/pkgconfig ) -" -PDEPEND=" - sys-devel/clang-toolchain-symlinks:${SLOT} - ~sys-devel/clang-runtime-${PV} -" - -LLVM_COMPONENTS=( - clang clang-tools-extra cmake - llvm/lib/Transforms/Hello -) -LLVM_MANPAGES=1 -LLVM_TEST_COMPONENTS=( - llvm/lib/Testing/Support - llvm/utils/{lit,llvm-lit,unittest} - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} -) -LLVM_PATCHSET=9999-r4 -LLVM_USE_TARGETS=llvm -llvm.org_set_globals - -# 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_prepare() { - # create extra parent dir for relative CLANG_RESOURCE_DIR access - mkdir -p x/y || die - BUILD_DIR=${WORKDIR}/x/y/clang - - llvm.org_src_prepare - - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) - eprefixify \ - lib/Lex/InitHeaderSearch.cpp \ - lib/Driver/ToolChains/Darwin.cpp || die -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # meta-targets - clang-libraries|distribution) - continue - ;; - # tools - clang|clangd|clang-*) - ;; - # static libraries - clang*|findAllSymbols) - continue - ;; - # conditional to USE=doc - docs-clang-html|docs-clang-tools-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(${NINJA} -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # common stuff - clang-cmake-exports - clang-headers - clang-resource-headers - libclang-headers - - aarch64-resource-headers - arm-common-resource-headers - arm-resource-headers - core-resource-headers - cuda-resource-headers - hexagon-resource-headers - hip-resource-headers - hlsl-resource-headers - mips-resource-headers - opencl-resource-headers - openmp-resource-headers - ppc-htm-resource-headers - ppc-resource-headers - riscv-resource-headers - systemz-resource-headers - utility-resource-headers - ve-resource-headers - webassembly-resource-headers - windows-resource-headers - x86-resource-headers - - # libs - clang-cpp - libclang - ) - - if multilib_is_native_abi; then - out+=( - # common stuff - bash-autocomplete - libclang-python-bindings - - # tools - c-index-test - clang - clang-format - clang-offload-bundler - clang-offload-packager - clang-pseudo - clang-refactor - clang-repl - clang-rename - clang-scan-deps - diagtool - hmaptool - - # extra tools - clang-apply-replacements - clang-change-namespace - clang-doc - clang-include-fixer - clang-move - clang-query - clang-reorder-fields - clang-tidy - clang-tidy-headers - clangd - find-all-symbols - modularize - pp-trace - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-clang-man - docs-clang-tools-man - ) - fi - - use doc && out+=( - docs-clang-html - docs-clang-tools-html - ) - - use static-analyzer && out+=( - clang-check - clang-extdef-mapping - scan-build - scan-build-py - scan-view - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1-3 "${llvm_version}") - - local mycmakeargs=( - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" - # relative to bindir - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" - - -DBUILD_SHARED_LIBS=OFF - -DCLANG_LINK_CLANG_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - -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 - - # disable using CUDA to autodetect GPU, just build for all - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - - -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) - - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -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 - ) - fi - mycmakeargs+=( - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra - -DCLANG_INCLUDE_DOCS=${build_docs} - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} - ) - 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 can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - # 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_build check-clang - multilib_is_native_abi && - cmake_build check-clang-tools check-clangd -} - -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 "${T}"/clang-tidy "${ED}"/usr/include/ || die - 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 "${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 - # - clang -> clang-X - # - clang++, clang-cl, clang-cpp -> clang - # we want to have: - # - clang-X - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X - # - clang, clang++, clang-cl, clang-cpp -> clang*-X - # 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 -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # 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 - if multilib_is_native_abi; then - # don't wrap clang-tidy headers, the list is too long - # (they're fine for non-native ABI but enabling the targets is problematic) - mv "${ED}"/usr/include/clang-tidy "${T}/" || die - fi -} - -multilib_src_install_all() { - python_fix_shebang "${ED}" - if use static-analyzer; then - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view - fi - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages - # 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 [[ -z ${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 "Some of them are vim integration scripts (with instructions inside)." - elog "The run-clang-tidy.py script requires the following additional package:" - elog " dev-python/pyyaml" -} - -pkg_postrm() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow clean all - fi -} |