diff options
Diffstat (limited to 'sys-libs')
39 files changed, 733 insertions, 241 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 34adf65b0288..085e4d29a443 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index c2e3842c6d46..3bd1bcc6eb71 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -5,9 +5,9 @@ DIST compiler-rt-sanitizers-4.0.1-patchset.tar.xz 2384 BLAKE2B 6f9eee711c8357076 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-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c -EBUILD compiler-rt-sanitizers-4.0.1.ebuild 3840 BLAKE2B 72c9943e4bafed115dabfa2fa33a035af9259bc764e8ac6797a9fc7c62aa60110feba43305b25595b6819e7fab261edc2619113deb5ef5629d0b433fc788717a SHA512 1d0d63f67b71a718bf7ed8bb422659a1b83f7c5dddd7d5cf436d5e7c266eb5ffd9096a2653c18b5272c79d659b898ec9fe489ba94d8786cce7823acea11724a9 -EBUILD compiler-rt-sanitizers-5.0.1.ebuild 4079 BLAKE2B 87863e4d0c754f6dacaa9a633c6fa97da803aabcad8be1ffa98c27e06e71d03c132fff3c34bbfda2b963f35ad8c9e9315dc08a8a63c489c0bb3a16b3b3646f7f SHA512 01f6dc8700713833961b223a82e9b0035701ef4a291b8ffb483e2b784ec345b5d58ccf84cd168dace95888260dd882a75b09e66b9c0f3001b826a91058a4508b -EBUILD compiler-rt-sanitizers-6.0.0.ebuild 4568 BLAKE2B b1b4183f359b49ddb8f5310b7b30e375d34fae5b0f09a451e917d3d09f11489bdc1b866d48b3a370b43f8977b9fe8143823547ca937fdadaa640eb62fc7e4c88 SHA512 3c0b541f2e8a5899701fbf8a1e74cd332ddf831523ebdd7735204993327b676f661e8bd2612c3f90e811e18034422797136111e605b8f694c09c6159cb2eebb8 -EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4525 BLAKE2B f54b68d42e59efab9a1858c554bf8daa442d42e88c96ad004849b681229f3d8e8c2bfc78118b067644ecf21007893d41b46551984571e1bcdca88a79579d344f SHA512 63ec60e8e5b26f4b12e7309f77660b7b7d5643699da76af6c7f27af72ef637e7c284ff4010e175788703e0a1629dbc27fcb260950331563dfb17539edf5e12bb -EBUILD compiler-rt-sanitizers-9999.ebuild 4500 BLAKE2B f5718fbbe6b9a10698fdfd230583a5fad1cc56ddbd66ce2f266c091b6cd71c57f787f6baf5ff3245d1743777f20ea5e581e98f68451a4dd05ae400215474f99a SHA512 267fe64aca0396391bdd0c047f5ca22af421586a472187f16973c4fc9b8e14b326ea46df21390e86cff352a8b43d1382dac50f4caa6ea7f189aee4ce6a28f20a +EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4548 BLAKE2B 92ab6b7854a5d8bfc5da3160e6d1bcaa4347ae4faa5ac4ad095902b61051a1b89afd74e6c7827958184ff9d5668efa226344bf0e631a8c85542e48ea6cfd659e SHA512 0f4f9b0497b17f0fabaa74c83ff946ffe55b828fc286c4e82ade53e54b10491f92bef91d06567d9d7e5dc50ea150f2b0ed5484ff599b01892428966ea630e121 +EBUILD compiler-rt-sanitizers-5.0.1.ebuild 4846 BLAKE2B b7723034964cf81192ac1d232ec35c099c5755d38fe7ed52b24413075fe1c4915015e69b0efb62dc4d84bfc0f64d1f9ff1ca7f6f7bf70d32e7f121e316382ac1 SHA512 1ee73ca6024f753ec05ff3bae518abf15587cd991c5917bb462ec5e87d27ad49038c572f6b936c3fd06410e8ae428c1b97d9c49b21804f26d09a180a1937bf81 +EBUILD compiler-rt-sanitizers-6.0.0.ebuild 5046 BLAKE2B 2f98d0b4e136b478d831a45632693f19f0e8c8dde47772d258180e8d868bab3950430fdf671584adc4feaa45055e3f32ca435afc94d4c7f9045f3b5800ecd92e SHA512 d4f6d2a8552100029a29b2e7a94bb017c4914da314bba8118c3610513c6dc53173af30bc50555cb12a47da15222e97d796bb1e03e8c0497dc45f5f10f4654d17 +EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4996 BLAKE2B d52e5a1144f4699793fe459521f1192c2ca2f0f469e3c9992f7b04eec3352f63b448ea98c552e55c2c2e868dc09d5d30cbd4be737d7d8eaaf0b837b7b67c6df8 SHA512 6259320ff164c440e120a755e4bb65b07c196fb0f40ddbcbaf860c17838f0c42e9ec7ad6c9f5ae8aa66fc29712a4bafc98c7bfca33c3add8aa0d4ca4b4ce53d4 +EBUILD compiler-rt-sanitizers-9999.ebuild 4971 BLAKE2B e2fe4f691f01c37c73ca93864d358d1091f976b69ae3c84f96ec8e50a7a584a4ec468f3e9127ee02be1ee0192b0cac54499951d53ee82f1177fa60a23b8f3017 SHA512 e8586923d94c8105a8b896365dbe4e7379a04277d0849aa1d16ab6099b7c5f6a9841a680e72ac2487386fb967fc84d4e6d8d049a4b01cbe0945f1eaf20bf4faf MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild index 70a21aa3a6f9..632e36150ded 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -19,17 +19,18 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/compiler-rt-${PV/_/}.src.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="${PV%_*}" KEYWORDS="amd64 ~arm64 x86" -IUSE="test" +IUSE="+clang test" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} RDEPEND="!=sys-libs/compiler-rt-sanitizers-${SLOT}*:0" # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 + clang? ( sys-devel/clang ) test? ( app-portage/unsandbox $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} sys-libs/compiler-rt:${SLOT} ) ${PYTHON_DEPS}" @@ -66,12 +67,32 @@ src_unpack() { src_prepare() { eapply "${WORKDIR}/${P}-patchset" cmake-utils_src_prepare + + if use test; then + # remove tests that are broken by new glibc + # (disabled in 6.0.0+, r313069) + if use elibc_glibc && has_version '>=sys-libs/glibc-2.24'; then + rm test/tsan/Linux/user_malloc.cc || die + fi + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/use_tls_dynamic.cc || die + rm test/msan/dtls_test.c || die + rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die + fi + fi } src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install @@ -90,14 +111,14 @@ src_configure() { -DLIT_COMMAND="${EPREFIX}/usr/bin/unsandbox;${EPREFIX}/usr/bin/lit" # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) # same flags are passed for build & tests, so we need to strip # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++ \ + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++ \ strip-unsupported-flags fi @@ -110,17 +131,17 @@ src_configure() { # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die cp "${sys_dir}"/*builtins*.a \ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/$(get_libdir)/ || die + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/ || die fi fi } diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild index 2ed2435e66a5..db4e4d049b52 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.1.ebuild @@ -21,16 +21,17 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="${PV%_*}" KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="test" +IUSE="+clang test elibc_glibc" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 + clang? ( sys-devel/clang ) test? ( app-portage/unsandbox - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} sys-libs/compiler-rt:${SLOT} ) ${PYTHON_DEPS}" @@ -68,10 +69,34 @@ src_unpack() { fi } +src_prepare() { + cmake-utils_src_prepare + + if use test; then + # remove tests that are broken by new glibc + # (disabled in 6.0.0+, r313069) + if use elibc_glibc && has_version '>=sys-libs/glibc-2.24'; then + rm test/tsan/Linux/user_malloc.cc || die + fi + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die + rm test/msan/dtls_test.c || die + rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die + fi + fi +} + src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install @@ -90,14 +115,14 @@ src_configure() { -DLIT_COMMAND="${EPREFIX}/usr/bin/unsandbox;${EPREFIX}/usr/bin/lit" # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) # same flags are passed for build & tests, so we need to strip # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++ \ + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++ \ strip-unsupported-flags fi @@ -117,17 +142,17 @@ src_configure() { # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die cp "${sys_dir}"/*builtins*.a \ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/$(get_libdir)/ || die + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/ || die fi fi } diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild index 1b1389c403af..ca7cb14d19fc 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild @@ -21,19 +21,19 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="${PV%_*}" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="+clang test" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="+clang test elibc_glibc" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( !<sys-apps/sandbox-2.13 - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} sys-libs/compiler-rt:${SLOT} ) ${PYTHON_DEPS}" @@ -71,6 +71,20 @@ src_unpack() { fi } +src_prepare() { + cmake-utils_src_prepare + + if use test; then + # remove tests that are broken by new glibc + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die + rm test/msan/dtls_test.c || die + rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die + fi + fi +} + src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build @@ -102,14 +116,14 @@ src_configure() { -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) # same flags are passed for build & tests, so we need to strip # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++ \ + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++ \ strip-unsupported-flags fi @@ -129,17 +143,17 @@ src_configure() { # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die cp "${sys_dir}"/*builtins*.a \ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/$(get_libdir)/ || die + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/ || die fi fi } diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild index 07a2dd56c858..52cda5eedce6 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild @@ -22,18 +22,18 @@ LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 SLOT="6.0.0" KEYWORDS="" -IUSE="+clang test" +IUSE="+clang test elibc_glibc" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( !<sys-apps/sandbox-2.13 - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} sys-libs/compiler-rt:${SLOT} ) ${PYTHON_DEPS}" @@ -72,6 +72,20 @@ src_unpack() { git-r3_checkout } +src_prepare() { + cmake-utils_src_prepare + + if use test; then + # remove tests that are broken by new glibc + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die + rm test/msan/dtls_test.c || die + rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die + fi + fi +} + src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build @@ -103,14 +117,14 @@ src_configure() { -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) # same flags are passed for build & tests, so we need to strip # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++ \ + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++ \ strip-unsupported-flags fi @@ -130,17 +144,17 @@ src_configure() { # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die cp "${sys_dir}"/*builtins*.a \ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/$(get_libdir)/ || die + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/ || die fi fi } diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild index 83bd0ec18fa9..b232680519be 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild @@ -21,18 +21,18 @@ LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 SLOT="7.0.0" KEYWORDS="" -IUSE="+clang test" +IUSE="+clang test elibc_glibc" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( !<sys-apps/sandbox-2.13 - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} sys-libs/compiler-rt:${SLOT} ) ${PYTHON_DEPS}" @@ -71,6 +71,20 @@ src_unpack() { git-r3_checkout } +src_prepare() { + cmake-utils_src_prepare + + if use test; then + # remove tests that are broken by new glibc + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die + rm test/msan/dtls_test.c || die + rm test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc || die + fi + fi +} + src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build @@ -102,14 +116,14 @@ src_configure() { -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) # same flags are passed for build & tests, so we need to strip # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++ \ + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++ \ strip-unsupported-flags fi @@ -129,17 +143,17 @@ src_configure() { # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die cp "${sys_dir}"/*builtins*.a \ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/$(get_libdir)/ || die + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/ || die fi fi } diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 6e1d13750ebc..e0bd559e2aa7 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,9 +1,9 @@ DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.1.src.tar.xz 1498220 BLAKE2B 61503df8a4075c2fe1e42d480753b861321b5de127e340f48d648fc38d81c7967cead17e136beaa5235cc92540f158915fccec77cf39aa7c336d106c9d265222 SHA512 61e23775db78bdeed3003a509b45ae609287db31302fed186f3210d481ecf062d1828571e63482215ab00ff732df8f3fa6c77334dfb677e4b76eb555d476b8c4 DIST compiler-rt-6.0.0.src.tar.xz 1633096 BLAKE2B d5df9b16ad474f687507013fb6eda8c7c3bbe479c85aab6ce428b93bbef2467538c0ba59c54dd9266b978da53c8c312a59e3b7abac843702048900f5cdbc1011 SHA512 717bed116ef43ebb2e18daf6fb737472edf57564947f53fe6368d3bbb080f63e986c0d1b94dbd087be998196ad7be54f4361854f8eb5214600b82449ba02c9c1 -EBUILD compiler-rt-4.0.1.ebuild 4138 BLAKE2B e13bd10d0709bd482064b110742f7714306116e27c8123a3f61a446dc3a10e5de688c4b0ff0b5e43f392032c05e5abf8b1d429e9351090691e56c204c2341bed SHA512 76e4ca5084fa6c4e909cad6327d8e59a9a5ff8e88f6d7800c65ea0b19e464408598eb3c7e950ddc72b882dcb332f0ac094b15a3081739dfd0873a998e27d9bfb -EBUILD compiler-rt-5.0.1.ebuild 2672 BLAKE2B 1ca94e768bd822cff72b8cd89c27cbb03afddaa41955b2d2c705cfd94ba9d6ac8a73a6275d04edf19286776fc29d856e85bad269ee5885e5081eccac7b1b9bae SHA512 e02e4c21d260280e1c477eb907e4dcc1c24fea93ae9f0e4c33aae2d22b9c35e5a4fa236aebd49dc22974842fd42c9bf1f273a7389ad8760442ca341637ddfde6 -EBUILD compiler-rt-6.0.0.ebuild 2903 BLAKE2B 0dd423d0da2f45352767f59052e19fa8571ce86a07e23f8ec2d5bb87a81a5bd7fa190faeaf57777302b88d7b2c94358ebdacaa6f2de6fd17b6bd8c26de1ac5f4 SHA512 a2fe6065a2b65a838b18eb455506e414fff4668418d810a798bfe831a887403d5c3587d0b34036b160b708da5c745d1de56809c2e275b9c7f280be646f94a88e -EBUILD compiler-rt-6.0.9999.ebuild 2952 BLAKE2B 9c7c05ca8c3bf6c256daba5d2ef29af4176bc11049c71dc05c2f556050480898c70115ddb8f7fcc6025a7810d9a1f17fb597d3e099fa9160f1ce220892f17cd5 SHA512 0c645f2d08a56625b4d7fb90038d3b00eb0399c17c19674c37972e8914febc4ff73b782e5dfd033274c0c2ba21825e6ae558531f9a2c69492cab3972a07a54c2 -EBUILD compiler-rt-9999.ebuild 2927 BLAKE2B ea7dd25e38a564876b0c41f619810c7b90d0ec24ee84cd1f25b7263e0c33064972def349d41c3027e1cfc5fa0dd15e96143a9e9a8bd311d9d1e2f53208f30df5 SHA512 9e04d018d334924cc161a3bf883c18f2f63f6de77e9e6c6512a6b31e2108b6cde8090682a1f28a9dce97115b092f128f843c17515b35bcc29bc518c53b219713 +EBUILD compiler-rt-4.0.1.ebuild 4162 BLAKE2B 90782fd51fa867ee5cb1240542f8acf16c33dbb7cb4333ecf2ed126478f346e89c3c4134e27a28b4c7cc3e9fe71da1bc8f95ab49d644d0b6dba63aac84e5b4be SHA512 1a39910b54c6a186eb166e7910c36eff900264bd00e44d59d8d0bdeaf1eab8a58410a4256e330c8a78e059bb625f53eeaab43682c83c62a806816183ea13c327 +EBUILD compiler-rt-5.0.1.ebuild 2681 BLAKE2B b844ebb03e217337ed4f90ffee3cbf15a17a84ff3c36fc497638d69aa1df07b79121703c1073f52d63d603db4f9613872db99357a7ae3c927a177431b4a3cebb SHA512 53fe8df8b014180aaa6d2025d9cf371c5f2cc473df75125ecc9df02fac2b92b0ea029b445c169144d0677232cffb1c6469ed16d01683c03a7aeb4af71658ca1a +EBUILD compiler-rt-6.0.0.ebuild 2919 BLAKE2B 3d1d622e4c400275846f9820da1c981ba06253a93e0634861e5a0e7eaf099417488da5c15c8273aac444677b86a10f0dc58389f6db9be07c24b1e6abaa61586f SHA512 c7b48ac9ecb64602d7136e552c84632e9df395488bb6dd1ad6d0dd801ed085e39ec22db12f92bcc85f7c4713c675ce48f543fd326c75f798bade5b677cc10e33 +EBUILD compiler-rt-6.0.9999.ebuild 2961 BLAKE2B cb7a3df71a01f4ab55bebdca51bf2651480108e1b91761416d6e9ce90df44ac541595e9463624fe452ff5b5bbf337be08ecb0367e0cd898f224d3eed58734a53 SHA512 f1d8b8f3417c5940e70f05b7e6537572d41ae10c156fbaa7c1c1ef32c679fc548297e5551860929dd9a53a6e4e05b9a18dc44985a8be7bbf16289bf42745d774 +EBUILD compiler-rt-9999.ebuild 2936 BLAKE2B 0aed5b19e2678a3cc2c320fd1264d29e87671b694e40c3eddcc220c73a312cd2f4b9b5298b9eccb1a880808241b3751a5297ef8aae7975df6ecca8dac8629d6b SHA512 ef54f839c69ff25aa92de03761294ecac872c8831f4e09ea9cc188c2cc8b2ff7519dfb6593a8ac804cd059f0733fdef6266338e46adb7d9d0210e6b7c310c15b MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt/compiler-rt-4.0.1.ebuild b/sys-libs/compiler-rt/compiler-rt-4.0.1.ebuild index 8808e083b283..f7a4ef2ed66f 100644 --- a/sys-libs/compiler-rt/compiler-rt-4.0.1.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-4.0.1.ebuild @@ -20,13 +20,13 @@ SLOT="${PV%_*}" KEYWORDS="amd64 ~arm64 x86" IUSE="+clang test" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} RDEPEND="!=sys-libs/compiler-rt-${SLOT}*:0" # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 clang? ( sys-devel/clang ) - test? ( =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} ) + test? ( =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} ) ${PYTHON_DEPS}" S=${WORKDIR}/${P/_/}.src @@ -88,9 +88,9 @@ src_test() { # prepare a test compiler # copy clang over since resource_dir is located relatively to binary # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_SLOT}{/bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${LLVM_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${LLVM_SLOT}/bin/ || die + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAX_SLOT}{/bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die cp "${EPREFIX}/usr/lib/clang/${SLOT}/include"/*.h \ "${BUILD_DIR}/lib/clang/${SLOT}/include/" || die @@ -128,7 +128,7 @@ src_test() { einfo "Running tests for ABI=${ABI}" # use -k to run all tests even if some fail emake -k \ - CC="${BUILD_DIR}/lib/llvm/${LLVM_SLOT}/bin/clang" \ + CC="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" \ CFLAGS="$(get_abi_CFLAGS)" \ CPPFLAGS='-I../../../lib/builtins' \ LDFLAGS='-rtlib=compiler-rt' \ diff --git a/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild b/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild index 6efc90216769..241fc11bd3ac 100644 --- a/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-5.0.1.ebuild @@ -19,14 +19,14 @@ SLOT="${PV%_*}" KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="+clang test" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 clang? ( sys-devel/clang ) test? ( - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} ) + $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} ) ${PYTHON_DEPS}" S=${WORKDIR}/${P/_/}.src @@ -88,8 +88,8 @@ src_configure() { mycmakeargs+=( -DLIT_COMMAND="${EPREFIX}/usr/bin/lit" - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) fi diff --git a/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild index c542741b8425..44dd01ced40a 100644 --- a/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild @@ -17,18 +17,18 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT )" SLOT="${PV%_*}" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} ) + $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} ) ${PYTHON_DEPS}" S=${WORKDIR}/${P/_/}.src @@ -93,8 +93,8 @@ src_configure() { -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) fi diff --git a/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild index 7a1bf830fe7d..2542708841ae 100644 --- a/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild @@ -25,14 +25,14 @@ KEYWORDS="" IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} ) + $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} ) ${PYTHON_DEPS}" # least intrusive of all @@ -95,8 +95,8 @@ src_configure() { -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) fi diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild index d843a8f3e3eb..b6a339768aa1 100644 --- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild @@ -24,14 +24,14 @@ KEYWORDS="" IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" -LLVM_SLOT=${SLOT%%.*} +LLVM_MAX_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 clang? ( sys-devel/clang ) test? ( - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_SLOT} ) + $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} ) ${PYTHON_DEPS}" # least intrusive of all @@ -94,8 +94,8 @@ src_configure() { -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++" ) fi diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 968077a76927..3df654f7d7d2 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -47,7 +47,7 @@ EBUILD glibc-2.21-r2.ebuild 4922 BLAKE2B 99bd1be39a3643f845c0daff4f7b19a0abb37de EBUILD glibc-2.22-r4.ebuild 4973 BLAKE2B 6f4f632413cacf34a2a011d8cc83d0a92deaa0980aa9b6fe0d11cf45850a7bec482b77c8a0aa00b66a2103d4ff03ca16b0b7d38cd089b8f010039faaaf26d76b SHA512 1a056e465dc38dc4956b4707ff9fc9da8df4046d95edeb3dd6ae36fc229545acefdd317c50961a153ec83f21cba3d645d1e45b526157f8209a932242c2b08c33 EBUILD glibc-2.23-r4.ebuild 4975 BLAKE2B 9a0d3a3689896fab9f71fa20a83be5f2563f023040563f85385f8d28d32d6eee7f144acbdf4a35d6c1a65d56289ae72813b1d7f561f514e391e95dd4e43a4902 SHA512 9662308abee890c1eeaa45a49c4238448c62400d8b8661fc7588cd78aa58cbe044a0c15f46a6e8d161a203f3645600385fc2200d4d6434c24e496781aa06b04a EBUILD glibc-2.24-r4.ebuild 5011 BLAKE2B 71050f0449074652d4fabc709326025b4de2e6642fdde87898acfde6f99cce95f4d7b9e1e7f9eedcdf6d2fd70ebf3c2860599ec36ccf68e0e633ec794f8ce0e8 SHA512 1cb3bcbd7d9d7f7c095bdff7c81d0acc3b4700c0b8a9d4fd0499cbf53abb55c67ca3bc3cce125916d238eb8cf6f6d69989af27defd6f194aaa5ac27cdda94eb9 -EBUILD glibc-2.25-r10.ebuild 5003 BLAKE2B a3a94f16c7a240ae4db9b430a4c054b91d864c10c291d4e9839bd847e289c74d4038045e4c389f1362cd3c24dc6bf024e731f1046c9254833e9edf2cda0de94e SHA512 2186eb7d9bd5088d805a27aba9aab8190f6253d2b8727969307194a62e681a293ed79f5e3aef9dc3bb796e53784ebcf1a51298d527553f7f529625fbddd81bb2 +EBUILD glibc-2.25-r10.ebuild 5002 BLAKE2B c02b66123475631ccd8cde92dc533c1057b1c1308f797948db8caad0cdec2a83a5ff241bc6d1b2e845f46f28bd8b874cd0cf1f761e3181c7a3b1129e1fd99611 SHA512 5342f2d433ae255670732d8f2e6cd21d648b6fe93500cc3697f31aac06ef7e252769608e1c17d5407e075c78602124a8f62ee59ef2048499beb821c76f7871b6 EBUILD glibc-2.25-r11.ebuild 5011 BLAKE2B e225db160d7ff1b199dfc85f4d1d6b2582ae900f1ed56cac4ccf65852003e7f282004b081b361446eb949ae6af21edc7d7b0a1626fb1914628083c0e83039fdc SHA512 225bbef22ec434a8d7a005da1cf289fa8f18b487008ac9299c66c6b2a8b0235c9f1dcf6d8af9656ea298afef0ff660c4054c2f6b116bbb56c1cd6405a085e606 EBUILD glibc-2.25-r9.ebuild 4999 BLAKE2B 6c0784aa614374954c0747deb7a33fdba0f8b1935cc28c62af29880d64991cc93740eddefe8dca971d6c1bbba14161e10db75e00a91d73282e0c0bf094004b94 SHA512 3b5dc2073ae44e6cf5a4f8f64a3c3fd837ebaa222009ee617105259765ff4222fb3960be1c537d4fde6c7e928bd85325d9070cb668b31cb6afb03368c079141f EBUILD glibc-2.26-r5.ebuild 25260 BLAKE2B f28cc4e685eb88a500655c60de886dc862495499413a27034bcb6e49db4a5737df081f813cdc1bf06f763fc03b652ad8ccf0b9d0cad3f975b8d7cf9309af1506 SHA512 a1a40a8b076dbaa71d1f778a3e17d1ff2267dddde68c69e2db68a860f6186eeaab083fad5935113d12ed86fd0d0f20ded0c662df29391e211728ec887f3a6260 diff --git a/sys-libs/glibc/glibc-2.25-r10.ebuild b/sys-libs/glibc/glibc-2.25-r10.ebuild index a286da5e6469..9517aa47225e 100644 --- a/sys-libs/glibc/glibc-2.25-r10.ebuild +++ b/sys-libs/glibc/glibc-2.25-r10.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="GNU libc6 (also called glibc2) C library" HOMEPAGE="https://www.gnu.org/software/libc/libc.html" LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86" RESTRICT="strip" # strip ourself #46186 EMULTILIB_PKG="true" diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 98f20bb569cd..91cd302837d5 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -9,9 +9,9 @@ DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa2 DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3 EBUILD libcxx-3.7.1.ebuild 5335 BLAKE2B 6f4dbbb8dbc7f6e8b97f05ff3e638bb037bad416feffe5207a9cba166a5c0e0c92c3cac954088cc04cdf2a9be62f17cd5d7ece472e4e20d3c0be5b3c1edb2f52 SHA512 f4e04906e7205cd3d2f3180a0b897c1a9eaf5c65249bdbb62ed32a0455132009c88ae6f080b52abe6973752073ca3bc32e37e3491db9de2fc030cf77e4ed91b0 EBUILD libcxx-3.9.1.ebuild 6815 BLAKE2B d15c83602e244f8a50e0a9d15869dbd4c7be226d8b1f93249cb6658149ad2408f0feada97403a0dfa3dcd8ac25b98ae084d1d17c879f67ae24d33f8497aba569 SHA512 9c9632590b49cd01ad324641ee296f08442940ab1dda1f0c7cdc77abe6b653f70d0baa9b796ef7d77e1f4728e96fe27fcd42d79a389cfcf2b2427b087b9985af -EBUILD libcxx-4.0.1.ebuild 6301 BLAKE2B d4a17d742479e7532c986046fe12b4aed0d1e59faaebead864f7e3f91c4be82aa5d708a7efe2038a146151d10530b0f31a34006e8af6c4dc24f18537dc8c0feb SHA512 8e4a82071fd5945f7876adc9cd20ed2d35ee952711574e8ac2b735d60299b480e269b07ad829c015377c8042a54b6604ffcfe41f98869b25844c00b62bec3b46 -EBUILD libcxx-5.0.1.ebuild 6301 BLAKE2B 3a8fc402a70214032823a1590a8ca088e16bb84ad0d75acda69c9dc306747e8b9c9fe48179e3c9481765ab656217a7f76ecee9c4a1d6a61d9923fad7c624d8c7 SHA512 ffe69b27e9358cea5a31b64f6a1f335565b2229ba6ecfad5636b813df174daffa6a2ca6f47f30da1d7e833aea803ce2be1e3f95589a379af4c138c212bc0df64 -EBUILD libcxx-6.0.0.ebuild 6714 BLAKE2B 30da012470b16f07f8c58633a966bb85bbb8ef68c1b716c1fb890064f43191ae505ac8a4e1270ec4cb7fc4f1a87589cccd5fbfebb73857df55140498ef1fb0dd SHA512 cb8179594c272aaec459057c23f82b0b5642827b9f93913204b2879cb0b54f512edced1fdde2ba0815ba3a8f1a88cad0398739c39119d9377925be5db4c7bc70 -EBUILD libcxx-6.0.9999.ebuild 7020 BLAKE2B 550b6aba9d3bbdb22a57d989795461d5dd723061623673637f81b0a0847647ce77f5540831d17c86ba26f8aa4571d42c77c0648de85e8aac7107d3bf35981895 SHA512 9e408776b6c6a7806d04ec96d205887493a531691711cfe4c676214c33f99c1494aaeb25307c09c8606c073c10c6ae6e6a894fb958488d2dd41977cfdc0fbdd8 -EBUILD libcxx-9999.ebuild 6992 BLAKE2B ca6c1858b79b56d987ec0ea9aea817ffba40aa9b6a2eeac7bfe3b1303ae849cd434fd0044688fd2220b3940dc52a35d3ee5f1939e030cf3181d5528351ad9604 SHA512 f8690d503888b03b511eae8575b996764ee5c2d4cc7d9afefea9576d635736d653655306d7af1c4028497aeded6e2f423b8ba6dcd08f62a79f0ea846e9532cbf +EBUILD libcxx-4.0.1.ebuild 6453 BLAKE2B 2cab9946b4b79c4fc5310aae7ad32ae21f28a87e3e43c87731fe0542478342c4c7f5587472c39198b43f2a1f61329fc55a9e5c24804a34f70c70236e017eb964 SHA512 b656520a6bf00a73763fdf6f052869c76adb76ae9650d763c6b78a02393202c9bfeadd807ebafd6a071395aa64a0ede464fad0e4c127dfe39720e13342f82fc0 +EBUILD libcxx-5.0.1.ebuild 6453 BLAKE2B 4d79da76e3c2904a443180c37b63d3486b568d1253ba716c5073df76dd72186d9700e16f49f7d4de0bde61e86538f711a77e42e3df9fcce4baf2903eaead5b5c SHA512 af3c95d85528b54f65f814c107ea5ccd5db293d22bac2856af2b11a7ce75fa41bb7169a23434b0138f5e62fe605bbbbcb050dc05c4b4c4bfa9d576a868552dde +EBUILD libcxx-6.0.0.ebuild 6699 BLAKE2B 83e6112e8bdc5fc1f86404c2be72b0acb89d251a2f29d098ac1296ff2073a91cdbacc212dc9bbcbaef7c961b15c080cf975f33cb599aebf2e57bcd036d3101be SHA512 7c0eedefdce34ec28e8eed1cf60dd11f510ea3994efe8f01687a46692953f655da8cbc6b2b5b69a3e33e3f895a779ca8d6fadd9ec899e7afd62173549bae34c3 +EBUILD libcxx-6.0.9999.ebuild 6998 BLAKE2B 643fc6c64242e24038fc2fdca37f916d475539372d9beec9692e0f9afdc0078c4221d0cb6fe35939cb94d3c83c298f56626396d5067cf8fc7157718ab0e0a98c SHA512 85ac1785d3495c7df6e080912ddedabf10c6d7ff3323d1b100172d320f081a94bef0f47502b9914f5428e6391c124c5dfb33e52319204a8084a0a1b8432acf33 +EBUILD libcxx-9999.ebuild 6970 BLAKE2B 25154a733062646b8e19da4f38a2ade388140c16b36e4310cdca613d9299a655bbae07a1a476da564c1ef3d32a26f2816533bcd0683051ea104c5711f36e4818 SHA512 91565a2e05a5e48320cc7b7e49ea7722f74a0b80af145a53d9838d84603e51c666fb2a57eceae3231f86e9dde3c051c918286d291a4343c9bd728a7ab429e3f8 MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a diff --git a/sys-libs/libcxx/libcxx-4.0.1.ebuild b/sys-libs/libcxx/libcxx-4.0.1.ebuild index 8b6e05f5ff3d..64f610ce5bb2 100644 --- a/sys-libs/libcxx/libcxx-4.0.1.ebuild +++ b/sys-libs/libcxx/libcxx-4.0.1.ebuild @@ -127,8 +127,16 @@ multilib_src_configure() { # this can be any directory, it just needs to exist... # FIXME: remove this once https://reviews.llvm.org/D25093 is merged -DLLVM_MAIN_SRC_DIR="${T}" - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit ) + if has_version '>=sys-devel/llvm-6'; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + ) + else + mycmakeargs+=( + -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit + ) + fi fi cmake-utils_src_configure } diff --git a/sys-libs/libcxx/libcxx-5.0.1.ebuild b/sys-libs/libcxx/libcxx-5.0.1.ebuild index ff69acef1792..885f8b131826 100644 --- a/sys-libs/libcxx/libcxx-5.0.1.ebuild +++ b/sys-libs/libcxx/libcxx-5.0.1.ebuild @@ -127,8 +127,16 @@ multilib_src_configure() { # this can be any directory, it just needs to exist... # FIXME: remove this once https://reviews.llvm.org/D25093 is merged -DLLVM_MAIN_SRC_DIR="${T}" - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit ) + if has_version '>=sys-devel/llvm-6'; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + ) + else + mycmakeargs+=( + -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit + ) + fi fi cmake-utils_src_configure } diff --git a/sys-libs/libcxx/libcxx-6.0.0.ebuild b/sys-libs/libcxx/libcxx-6.0.0.ebuild index c890013f25c0..5301d5f1fe6c 100644 --- a/sys-libs/libcxx/libcxx-6.0.0.ebuild +++ b/sys-libs/libcxx/libcxx-6.0.0.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd" IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test" REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) ) ?? ( libcxxabi libcxxrt )" @@ -139,20 +139,20 @@ multilib_src_configure() { ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die - cmake-utils_src_make check-libcxx } diff --git a/sys-libs/libcxx/libcxx-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild index 4e687c722c60..7454f776ff64 100644 --- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild +++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild @@ -151,20 +151,20 @@ multilib_src_configure() { ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die - cmake-utils_src_make check-libcxx } diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild index f304a076c171..a4fdb61c8c7d 100644 --- a/sys-libs/libcxx/libcxx-9999.ebuild +++ b/sys-libs/libcxx/libcxx-9999.ebuild @@ -150,20 +150,20 @@ multilib_src_configure() { ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die - cmake-utils_src_make check-libcxx } diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 4ab40bc0753e..773a341c179f 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -9,9 +9,9 @@ DIST libcxxabi-4.0.1.src.tar.xz 515820 BLAKE2B 7d9e0dee4f6cb3eaa22647d959f8bf3d8 DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884 DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e EBUILD libcxxabi-3.9.1.ebuild 2646 BLAKE2B a1f66067e57f09aca9d2f44735f3c7b01af38b381ecab526f9bae8ffbc5c96856c5a6d8c829b2d95f0a0afffefd319670c8484c826ce81b94a63c51bb53ed114 SHA512 4849fbfe11876cb403d78852abd6df27a0dbeada69c15fd1af6e7a20d742fcca064b227592e3ac69e32546cef94c790f28d63d40c8522213a9910f0b625ea379 -EBUILD libcxxabi-4.0.1.ebuild 2491 BLAKE2B 9f0bf316a6c451379291ab2825411f1a11c5924a4b9aa2dc7f742961c15072572240f945583373a3016be4cfde7993c123cb72cc6a93d31a56a7037d126f7df3 SHA512 fea9cfc1ee9389aad2e11a63802de0dd7c2f2e82ccefb5afa25349b64bba296022f293ffc66c5ba7c8e704513b17a77d911b2de7ef800db5f9a484596a9e147e -EBUILD libcxxabi-5.0.1.ebuild 2570 BLAKE2B d53b97db7f0e3db97255f93ef6458fe3b4b4a2ad505ee7e1736460b64c08d11caee3841057169e914ebf0596eee2e68074ba8a2eb825c34a88306116f1522fa1 SHA512 cf2d215bf05a61e043277c29e9297ac021db01eb9a8aab471c38474f9d13f7498326ca6ef04443cd5af983a2eb2a840f6793bd7deb7f0042ba5cc81ac05d400b -EBUILD libcxxabi-6.0.0.ebuild 2697 BLAKE2B d7645ecd5418fabd6f0c82d0606c1de0a47f231eb504668c7ddee020118b47520450eabff3e3c6aea61560bb99390eae9f98a90f0d4cc9396b4f74bee426b86d SHA512 0223cbc68e5c812ad83e9de8e93ebcaf38753aaeedfb24a7482878187f475ec45e578d4849bb3f53887eff5d576058cd2d2032fe9713e11cf47e53e0f0ac86a3 -EBUILD libcxxabi-6.0.9999.ebuild 2625 BLAKE2B a380210246a0875eb5b505c04ae43bc337d8ec175d559f685faf6346b2928bdf7788202097e0253083447af626e9ccb045e9022b0e4bd3e702ea14afb3c795d6 SHA512 f4228a84828bb3df7085283bb11936d9f94f371a867ffe519ccac66a8c899cd8cec0d2d05b62746989d65ae59c2a244e7d681c07f0ba8ab41e893e93f88841cf -EBUILD libcxxabi-9999.ebuild 2600 BLAKE2B 42fc6777627a3a3575508c2626df99dc98d6d3417ab27f79c36e4883cb8a6db32a979181a750105a3c0cad55bc9c96272865e9f60d4bf023508163e9709bfc19 SHA512 63f9bd33199ca54165c2dca0e7b1d10d120404a3789abb8fedcbdac10b26dc0a874beeab196efee92382134645aa90f9ecd5b2108dde579f1be974b82238edce +EBUILD libcxxabi-4.0.1.ebuild 3328 BLAKE2B 2cc64e780a60b79a5eed18840b3048256a9cd5374abaa61594085587ee120c2ac134287ece9fbc5c58ed947657cd280c32520719e6c4996c2593be20ab19894c SHA512 822b5056c1e62d1dd116349f6cb47fa023a20899a7ef18f91b80e7440ff857d55500bdf8adb9286c1f3f3ba2a45a7a95ba78430b58267e3e70296201951c66d3 +EBUILD libcxxabi-5.0.1.ebuild 3193 BLAKE2B b1157a436e40da0b67d012c903b9a137f3544a404e91a414a3d451be7f1b6c5e0a79c3e424f8c0cbf58b33166332988ecc13ee84a3c5840ad54de7c033770a97 SHA512 1330ec5b22bb11f5e142eea5acf03cbe6f1282a58206de9039453100a5fb72a30d46fe3ac3be6c52ddc07eb4b71486fd1be3e83a15a7ae76fa999fb2660cd908 +EBUILD libcxxabi-6.0.0.ebuild 3174 BLAKE2B 15e674f92e5388b16ee1e68f4ec99ad2c05fd1e0f80652f0fa1706c8e8303ff501203197e543644223cfd003c97ca99ccc1f7ea96e58be7d8aab8bd000dfb376 SHA512 44e004150486f6d270fec0dfa7f03e2c3a14ecf21d883250044f45ee6b2ea8828c51bda3b1f23dd867cb88acdf3c529a295d7882cde04184527f6fd8531aa1a9 +EBUILD libcxxabi-6.0.9999.ebuild 3288 BLAKE2B d43aa5dc53732dbc943b67625d54a4e97c2dc782722922e05f5906056c09345f5dbbeadc50af993e9b04c52218d9da9efb535aeba5e511ae8553549d2c867e1c SHA512 a75f53ab525c011fb834f24cfbe3ba5911e302cb080514146ea0f05fcb06b1cb0b3fa2342ccb3c1ca70873cc6e9fb0e1032479546f99ac85efbb6fa07aa5e3f2 +EBUILD libcxxabi-9999.ebuild 3263 BLAKE2B 26e1877ef423b0f869b6033601c584599c00f6f46b7296ba213ff080bb060c81995a2be2693b16b73e94c979c46fa5632b0fcf110ba2bc86c1b8f30bb548f74d SHA512 28ee56c5c823aa82e02e7fa680455e425d2ec5c4ae4c98c82a18f7afa1d0a663d22f4a85299fb44c3c10d5367bf33637f68a70516b02c6c206293038a65e22ef MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-4.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-4.0.1.ebuild index 0610e3424371..6fc52bd3ce46 100644 --- a/sys-libs/libcxxabi/libcxxabi-4.0.1.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-4.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -18,7 +18,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 ~arm64 x86" -IUSE="+libunwind +static-libs test" +IUSE="+libunwind +static-libs test elibc_musl" RDEPEND=" libunwind? ( @@ -31,7 +31,6 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-4 test? ( >=sys-devel/clang-3.9.0 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" S=${WORKDIR}/${P/_/}.src @@ -72,19 +71,50 @@ multilib_src_configure() { -DLIBCXXABI_LIBUNWIND_SOURCES="${T}" ) if use test; then - mycmakeargs+=( - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit - ) + if has_version '>=sys-devel/llvm-6'; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + ) + else + mycmakeargs+=( + -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit + ) + fi fi cmake-utils_src_configure } +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + multilib_src_test() { local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + cmake-utils_src_make check-libcxxabi } diff --git a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild index b273a72c3cc1..758b743df7e5 100644 --- a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild @@ -21,7 +21,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 ~arm64 x86" -IUSE="+libunwind +static-libs test" +IUSE="+libunwind +static-libs test elibc_musl" RDEPEND=" libunwind? ( @@ -34,7 +34,6 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-4 test? ( >=sys-devel/clang-3.9.0 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" S=${WORKDIR}/${MY_P} @@ -52,12 +51,7 @@ pkg_setup() { } src_unpack() { - einfo "Unpacking ${MY_P}.tar.xz ..." - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die - - einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." - tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ - "${LIBCXX_P}"/{include,utils/libcxx} || die + default mv "${LIBCXX_P}" libcxx || die } @@ -76,19 +70,50 @@ multilib_src_configure() { -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include ) if use test; then - mycmakeargs+=( - -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit - ) + if has_version '>=sys-devel/llvm-6'; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + ) + else + mycmakeargs+=( + -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit + ) + fi fi cmake-utils_src_configure } +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + multilib_src_test() { local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + cmake-utils_src_make check-libcxxabi } diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild index 282a95a9cd30..5c5a3146b60f 100644 --- a/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild @@ -20,8 +20,8 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd" -IUSE="+libunwind +static-libs test" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd" +IUSE="+libunwind +static-libs test elibc_musl" RESTRICT="!test? ( test )" RDEPEND=" @@ -35,7 +35,6 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-6 test? ( >=sys-devel/clang-3.9.0 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" S=${WORKDIR}/${MY_P} @@ -53,12 +52,7 @@ pkg_setup() { } src_unpack() { - einfo "Unpacking ${MY_P}.tar.xz ..." - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die - - einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." - tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ - "${LIBCXX_P}"/{include,utils/libcxx} || die + default mv "${LIBCXX_P}" libcxx || die } @@ -77,19 +71,44 @@ multilib_src_configure() { -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } -multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die cmake-utils_src_make check-libcxxabi } diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild index b9675a9e147f..32451233234f 100644 --- a/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild @@ -20,7 +20,7 @@ EGIT_BRANCH="release_60" LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="+libunwind +static-libs test" +IUSE="+libunwind +static-libs test elibc_musl" RESTRICT="!test? ( test )" RDEPEND=" @@ -34,7 +34,6 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-6 test? ( >=sys-devel/clang-3.9.0 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # least intrusive of all @@ -56,7 +55,7 @@ src_unpack() { git-r3_fetch git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' include utils/libcxx + "${WORKDIR}"/libcxx '' git-r3_checkout } @@ -75,19 +74,44 @@ multilib_src_configure() { -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } -multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die cmake-utils_src_make check-libcxxabi } diff --git a/sys-libs/libcxxabi/libcxxabi-9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9999.ebuild index 9cf976d80c3f..a5db8cc56c06 100644 --- a/sys-libs/libcxxabi/libcxxabi-9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-9999.ebuild @@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="+libunwind +static-libs test" +IUSE="+libunwind +static-libs test elibc_musl" RESTRICT="!test? ( test )" RDEPEND=" @@ -33,7 +33,6 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-6 test? ( >=sys-devel/clang-3.9.0 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # least intrusive of all @@ -55,7 +54,7 @@ src_unpack() { git-r3_fetch git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' include utils/libcxx + "${WORKDIR}"/libcxx '' git-r3_checkout } @@ -74,19 +73,44 @@ multilib_src_configure() { -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" ) fi cmake-utils_src_configure } -multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die cmake-utils_src_make check-libcxxabi } diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index d9f3231212f9..1cca2bee747a 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -16,7 +16,7 @@ EBUILD libomp-3.9.0.ebuild 1264 BLAKE2B d47970eb3edd24601f97770c326f9274849425ae EBUILD libomp-3.9.1.ebuild 1326 BLAKE2B 4e1c5178e66a3d4371556bcb26fab5ea84e2bac1ce0abb127d68bbe09f4e735d6d8ed4404f19bb6d8cb4808a782a5b72c9425e4acd2fe2cc97ebc3372de1c72c SHA512 99afa3364dfe73c52792e1f0c4cc19c9beb1fdb28d7fd009a778c351f86fd1759a1c4bfcd46194890b51f227844c063fed53085d78c0b91351858ed517e42794 EBUILD libomp-4.0.1.ebuild 2527 BLAKE2B be262aa449e8d3c2392793b8af597c7d9a02e624f0d57ad8b24ef822bd57f6d243200ccee1022c18dcc52fc2d198d6aa2cfe83a1224f614ce0b2305f3f6bff69 SHA512 ca34a666e1aa6e767cd979866bcdcaf55da75dc8faa80d062e718ceda56576c3ebec88972787ae5dc4532bfdeb2d7f34f233b8c4983bfb1bc89bbd443ac54ac7 EBUILD libomp-5.0.1.ebuild 2385 BLAKE2B e887b48183a5e2d8f4f5476579ec88f99d0b709ea4136914978014e51b8d63451d62c5216690b908d7e853141266831a560a1802945d88fe5940d30100b6cbdd SHA512 a36ce91d70d506f9baa07f2aca394325e382b794e0797ecdb308eb98fab38079ec8b5ca10d1c7368ec06275b76c1487f581a4196f0499645edab4b34e974a594 -EBUILD libomp-6.0.0.ebuild 3246 BLAKE2B 4026da7ffe7dd100f5beed4f7831f0cece3125b1aefb6b13985a27a1976d3c8cc034c9c4e94e01a02f86b2aae54e24d5c2d88aeefe9eff0d5419923d25c4b1c9 SHA512 cf4db7b7b13ce59c097186c2a0a75d7d16c596c2abfaa3bf983f17a5777522dccd35a1d4b4de28402fdc935863519dea3137d54186b80d579a5ec71259c00b41 +EBUILD libomp-6.0.0.ebuild 3253 BLAKE2B f7af36085e4b0fec9d3efe29fce1f7374b239c8265883488601d227cc1ec120f47a7634f7caad025148755775e41b48af062ad7a45ee693f7bbea4ce65a3ac05 SHA512 b059a151907c2ceef9452446fe9aa18655ba4d160995ea6f867b08c70abaea557096df808cec8a9e0d9ec3be3d3fcbcaea210488b630391b86b75ca8790d36a4 EBUILD libomp-6.0.9999.ebuild 3230 BLAKE2B 41ec1fbba984772804d57665c6a13cfb075045acb8d5d0880d165cfe6dc59a82df8c2ec1e5fe6da02c2ebc861b48b726879bf40e593ea0af046aa281021a7f7a SHA512 71ce8131d2a1108d81282bab1aa08bbe1cc2af4be751110c4e76c65d8eef06befa1070ae3876b48f4285a6c6c2ba8d041dcf9b618987ec6ac21c86353ece92b8 EBUILD libomp-9999.ebuild 3205 BLAKE2B a8bca945602ba1b5045f473a2caed666242ec3ba75440ec6ef98ebdcf1fbf146c775baf142dfc47f676946b90c0a3cea797d7fdade4565d3467ef7b5b5481001 SHA512 4021e79b4057c3a86ce3f330f8532a3cc566ee64c9894c9f3c2bb402bf37431717105a5601b11c7413e71d965657dbdd6be2d215d4bafaba916fb0b371270cac MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-6.0.0.ebuild b/sys-libs/libomp/libomp-6.0.0.ebuild index e12a9b5727ef..dc670c92964c 100644 --- a/sys-libs/libomp/libomp-6.0.0.ebuild +++ b/sys-libs/libomp/libomp-6.0.0.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos" IUSE="cuda hwloc kernel_linux offload ompt test" # CUDA works only with the x86_64 ABI REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 3d5da1dc4041..125782d324e5 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,6 +1,7 @@ AUX libunwind-3.8-cmake.patch 3454 BLAKE2B adb76914f1d08a4434c9d8aaed170e5067c3758d94c658a3a838d644a63e1eda946211c6962a75eea64b828ed60217521d8dcbcc60ad1356e1b667776aa771da SHA512 5d0a72e91a99e60f22239d56bf0998b0ae1df448ebf461c00bf6fe9eed0fa0579041bd98a9b50dfbe2d6a4490bbb8ede5c9b2fe76743f9f5b84770b4563377f1 AUX libunwind-3.9-cmake-static-lib.patch 1855 BLAKE2B 9ca4a2e8b8bdf3b9bcd8d2abda1ed1d5683f34b093347d01d383eb7f1ee65cf0100a740cde2511df3a81130c0b25604bf070f572c7c0629f6e81faf9263f45cb SHA512 1d0c5859394d027fd0b30ae30caa0aaee94e3880a16d1f46f318221f3062e126c25c6f20cdf087dc9b37d92517df499b0f79294a6e17c8ac5da694c0d825e9bc DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3 +DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e DIST libunwind-3.8.1.src.tar.xz 60596 BLAKE2B e200beab1388dc73a4ed6b1be0c4931124e48e21a3d5cc0bf01ac2ce57bbc2295bd0f72acb8fc08556aed963f0cb220bd3e47c3c953f570cf2860ae822a270c7 SHA512 2a60d7c4b0aee6c58f50089ac9fa2b756ab1d74faaee32f7436ddace4510589c7ffdd20478919966ed2fa8a23ee1b5d1b26115dbd8ee2834b00b5bcd61d00b14 DIST libunwind-3.9.0.src.tar.xz 61764 BLAKE2B 215aa7cabf9e5d8d3e3dfc3bad50f0aad1b4d2d6bef96ac4c14d987b6aa4afd0a1c0f186d63d84edcc822fd8495a000b2a24899e61176831e0ddfabea1d5c3c2 SHA512 dce384bea99ed61b363b847e20946fc9d70377389a227cc7054fbaa916e7cb5ba0b9d89f0df6ed33409dbf38beefd3654c18c1abcf0e50b5d0315ce0135a1d25 DIST libunwind-3.9.1.src.tar.xz 61788 BLAKE2B bab410d714e2dc012273997bb3fb3c366f64608b712eae15f8c08a2b049b6bdba0660a1f4942906e2e9cd7b11563c8a5b3007b92b1485c32036ac84f55fe7053 SHA512 a80f5d0660e209f5bf709316b5df2ca63b9f0db49f5f74dfe9c9e580c654f61a15acc071a739fdb84baf5ffa9420b92498f8560331173642d80f6b74e1e2afb7 @@ -12,7 +13,7 @@ EBUILD llvm-libunwind-3.9.0-r1.ebuild 1182 BLAKE2B 8a01875c7c57c4c4052d0bc680794 EBUILD llvm-libunwind-3.9.1.ebuild 1187 BLAKE2B adc3bdff94f0b5a855c4d6eac0ee123dbdc845da541d06fb6f3d533a0375d969427488cbbb4bcef4d545c8e6993ab4c78a8c5f3bca9f06f2b36a84199e471b0c SHA512 bdd65eb012df3af046c71406af02927255f3502aaf92e53fa9dbf2adfa0150b68e4325cfef2f07d1893738ba6ba3f009a89e37861ffe7999752ea77fc3963a0b EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386 EBUILD llvm-libunwind-5.0.1.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf6215f6d964e0a991e389c33af1a1614bc0c0dd404b58141d64513a22709e1755c79f4466b3cf7b43515f623927f766f0 SHA512 cd9740fad0a59488d543fa2af2a2908457180840999d463071bb557d45214e0cf04069f922e90e0a3b3f8144b8966d2f3564c098561a2ae0511264d1eb2b104a -EBUILD llvm-libunwind-6.0.0.ebuild 2412 BLAKE2B fab8d1db68f1b04ff98c45357a642b7093a8a98322ff494d4c05bedbf4abcd00e06c9cfc6b13584fb433b694e4300321dae6d11a3d0bfd7155df241cb0e6ba91 SHA512 729924a13ed898c500c95e1388d58726cd285fa5644d793b02a5ad4f71a83b6286f04634bfc1aaebd837f6d55e1d81afd5f26367e2ab853bfae4ffb90a224fec -EBUILD llvm-libunwind-6.0.9999.ebuild 2355 BLAKE2B 9d4339c8b1f716a1062948c179198d2499d4831aa9ce2805c301831dc27a5839f15bcdb0965c4c6865d7c528d04f0e923f3cf18aff8948b885cf800a9ac6ed82 SHA512 3f5bde87934cc8a21eb8b4eefba1b5ecc60bedbd6aef3e98ddbd313acab5b2d30d3f0aca75dad890053824b2220ac5ff714ef9e4c1be2e1b65e4b6bdceb8b3ad -EBUILD llvm-libunwind-9999.ebuild 2330 BLAKE2B 477d3a8aac1fa2434121e516df401c8c174b088d67e111e7e853e6770df93c14bb0ce48f9a31b80b45f980e31ffcb197e0b804b010dc191e1d41467218c332ed SHA512 a911d774c6d313a1002fefc743f3057d5ff23ef89f611a492f975a44f58a3c3b84c332759c869e50f4a2d2641b21c9c0bd3d7a8101593d4a0114a33a164a9ddb +EBUILD llvm-libunwind-6.0.0.ebuild 3744 BLAKE2B bd6b480a65c15c7d38043a4267bf1e02435a403a87b3280716e2de1e5dcf3bde6318bf7e361e309c3382b47a690b2a6fc42fd73c5c428ab0c70bbed62ad46ac6 SHA512 3095db45a2689d0a9fa6cc5550f5a897d2de00e3cbd07417e71e52dec301850d90a8e1f9dfd202c9f6485a9941d194704cf69825ff3e6252ebd73d32635c9a17 +EBUILD llvm-libunwind-6.0.9999.ebuild 3885 BLAKE2B 0a6078aeaf1af824ec3924fe5935f3710db2cc3d17bc338feb7c66ad7f478ffa9939e3c2e7c4095bb81923d6253c4806eb886f2309967e0c9f768a4777f87c37 SHA512 9424218fb904b44e796780db42471a52d3f2de7e08077054d5d8d6075ea041bf906a0ac6bc8fc0b6fffb0fcf6de3a543fb3567f4ef33f69f3b77e24ec4991004 +EBUILD llvm-libunwind-9999.ebuild 3860 BLAKE2B 177f9e223b61e3bd3a6fec78ff0b3d2efa1220228d55f78eb41a200518441d8b617998f13642338e91ff3f56dd224c1e1382df5031060c1783440ad20223d069 SHA512 b0cdcbe531188ffa9f7e294136a9238a79441b0768144116784fbf3e647b3fef11eb6a4e5569f08e7e7092d4aec46843c15a1c2b3b96ec63ee64028a0fb29c83 MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild index b895e49449da..a276429001f4 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild @@ -11,27 +11,26 @@ inherit cmake-multilib llvm multiprocessing python-any-r1 MY_P=libunwind-${PV/_/}.src LIBCXX_P=libcxx-${PV/_/}.src +LIBCXXABI_P=libcxxabi-${PV/_/}.src DESCRIPTION="C++ runtime stack unwinder from LLVM" HOMEPAGE="https://github.com/llvm-mirror/libunwind" SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz - test? ( https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz )" + test? ( + https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz + https://releases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )" LICENSE="|| ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-fbsd" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd" IUSE="debug +static-libs test" RESTRICT="!test? ( test )" RDEPEND="!sys-libs/libunwind" # llvm-6 for new lit options -# tests need libcxx with implicit -lunwind and libcxxabi -# (but libcxx does not need to be built against it) DEPEND=" >=sys-devel/llvm-6 - test? ( - sys-libs/libcxx[libunwind,${MULTILIB_USEDEP}] - sys-libs/libcxxabi + test? ( >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" S=${WORKDIR}/${MY_P} @@ -48,14 +47,11 @@ pkg_setup() { } src_unpack() { - einfo "Unpacking ${MY_P}.tar.xz ..." - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + default if use test; then - einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." - tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ - "${LIBCXX_P}"/{include,utils/libcxx} || die mv "${LIBCXX_P}" libcxx || die + mv "${LIBCXXABI_P}" libcxxabi || die fi } @@ -73,9 +69,14 @@ multilib_src_configure() { -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx ) fi @@ -83,7 +84,54 @@ multilib_src_configure() { cmake-utils_src_configure } +build_libcxxabi() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi + local BUILD_DIR=${BUILD_DIR}/libcxxabi + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + multilib_src_test() { + # build local copies of libc++ & libc++abi for testing to avoid + # circular deps + build_libcxxabi + build_libcxx + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + cmake-utils_src_make check-unwind } diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild index 6eb95d733fc2..303cfec21c9c 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild @@ -24,13 +24,9 @@ RESTRICT="!test? ( test )" RDEPEND="!sys-libs/libunwind" # llvm-6 for new lit options -# tests need libcxx with implicit -lunwind and libcxxabi -# (but libcxx does not need to be built against it) DEPEND=" >=sys-devel/llvm-6 - test? ( - sys-libs/libcxx[libunwind,${MULTILIB_USEDEP}] - sys-libs/libcxxabi + test? ( >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # least intrusive of all @@ -45,16 +41,19 @@ pkg_setup() { } src_unpack() { - # we need headers & test utilities if use test; then git-r3_fetch "https://git.llvm.org/git/libcxx.git https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch "https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" fi git-r3_fetch if use test; then git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' include utils/libcxx + "${WORKDIR}"/libcxx + git-r3_checkout https://llvm.org/git/libcxxabi.git \ + "${WORKDIR}"/libcxxabi fi git-r3_checkout } @@ -73,9 +72,14 @@ multilib_src_configure() { -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx ) fi @@ -83,7 +87,54 @@ multilib_src_configure() { cmake-utils_src_configure } +build_libcxxabi() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi + local BUILD_DIR=${BUILD_DIR}/libcxxabi + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + multilib_src_test() { + # build local copies of libc++ & libc++abi for testing to avoid + # circular deps + build_libcxxabi + build_libcxx + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + cmake-utils_src_make check-unwind } diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild index 387b8c31086c..366cb0231027 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild @@ -23,13 +23,9 @@ RESTRICT="!test? ( test )" RDEPEND="!sys-libs/libunwind" # llvm-6 for new lit options -# tests need libcxx with implicit -lunwind and libcxxabi -# (but libcxx does not need to be built against it) DEPEND=" >=sys-devel/llvm-6 - test? ( - sys-libs/libcxx[libunwind,${MULTILIB_USEDEP}] - sys-libs/libcxxabi + test? ( >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" # least intrusive of all @@ -44,16 +40,19 @@ pkg_setup() { } src_unpack() { - # we need headers & test utilities if use test; then git-r3_fetch "https://git.llvm.org/git/libcxx.git https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch "https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" fi git-r3_fetch if use test; then git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' include utils/libcxx + "${WORKDIR}"/libcxx + git-r3_checkout https://llvm.org/git/libcxxabi.git \ + "${WORKDIR}"/libcxxabi fi git-r3_checkout } @@ -72,9 +71,14 @@ multilib_src_configure() { -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON ) if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx ) fi @@ -82,7 +86,54 @@ multilib_src_configure() { cmake-utils_src_configure } +build_libcxxabi() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi + local BUILD_DIR=${BUILD_DIR}/libcxxabi + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + multilib_src_test() { + # build local copies of libc++ & libc++abi for testing to avoid + # circular deps + build_libcxxabi + build_libcxx + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + cmake-utils_src_make check-unwind } diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest index c3dbc4b724aa..6764bca24de2 100644 --- a/sys-libs/newlib/Manifest +++ b/sys-libs/newlib/Manifest @@ -12,6 +12,6 @@ EBUILD newlib-2.2.0.20150423.ebuild 1810 BLAKE2B 6fa6c3eef0952bbf86fe6d0e14701e4 EBUILD newlib-2.2.0.ebuild 1828 BLAKE2B 0421266bc2227bffe4a7a0a7ea16a05ad60adafc5c3096e2a417533f304049d6e9e7de5ba4c128ae22718710faaed1ab7c82a6f2a6183af93582be7ea962acbd SHA512 b243506f0b0cd7cebe1fee7270f9f7acc11557c4a211274f9578bd224e4a2b2a8f8dc26dd06ef4be60ce75b7b6dd315130b3944d2d786439b31a5801fe9cfc38 EBUILD newlib-2.3.0.20160104.ebuild 1812 BLAKE2B a26ce8367ca5d6a37175918a045e221af0458e8f2f03ebc5d9ac7534b07b9c7404138c8fe793abd0f9cca999c53aa39176cc9911d425f1c8c37dea9e37bc407b SHA512 703cf1eeb333bbf1b701d8d68a9fc9146fb61a213defaa38592f88c343f6ef145af34d8e2b7cd08bdbc1afc9e1641d43c9ad57cfb20b3e5df38fd9638e5652e9 EBUILD newlib-2.4.0.ebuild 2005 BLAKE2B 74bb441de26a3ad3ac654acc6a144888820d3b38e0f02cdbbc9ba43f5491d5e8dc7e4c2d980b37610cdc03bc2a437256e74b2c6dacd2e316a73ee422018f485b SHA512 23013ed713a7353c25f19c8dee4a2e7f9b905c8e692cc3b5ab17e0420675997edf1c05ebbfceb2ffbc4bccbe431a14b96738c819fca8b3351bde20dfac32c6f4 -EBUILD newlib-2.5.0.ebuild 1964 BLAKE2B 2f6790df10eb1a249158c26331f33f8d3119eeaab6cb039a49830c0582fa3288fa1ba2f395ee05892b594e2a2454bf4176bd9c85994d90a8db20b3a221ccb35c SHA512 71799c1ba85a245a5af899f51602314daed22b9834b4f82f28a92c59681b314fff35b22185b47811a9dc7e9e307a8d96bbbb4b5b7f151b6f9298e0ac21b2df80 -EBUILD newlib-9999.ebuild 1964 BLAKE2B 2f6790df10eb1a249158c26331f33f8d3119eeaab6cb039a49830c0582fa3288fa1ba2f395ee05892b594e2a2454bf4176bd9c85994d90a8db20b3a221ccb35c SHA512 71799c1ba85a245a5af899f51602314daed22b9834b4f82f28a92c59681b314fff35b22185b47811a9dc7e9e307a8d96bbbb4b5b7f151b6f9298e0ac21b2df80 -MISC metadata.xml 330 BLAKE2B 38ab8de6e1df9d737b0d0b4f2eaea0866b283366c38f4f54df9e7b07efe67d157357402d56e0e5915bf0242090d0249ceb30d0af18d4e21bbe9462770110363c SHA512 cf10bd2100eec996bcd2668a2e8fda67321f6969c59b3969ca1a62bc814113a48d475dbdcae3f4d6ac2186e770ec61d5c8c90690de921ea05696dc8924ec50b5 +EBUILD newlib-2.5.0.ebuild 4090 BLAKE2B 61bbefc5bff09cdf703584b98717a326cc73b8675c3f6a84f5ee8bf29883f1d29c3bacd40136ff2d5add73e1fee73901213f06526dc5620a5c751f82f755a27f SHA512 880a2741bc78097b7908a4aa38d867b18ca0eb9d3797de1ff3b7930c602d2c5d39d796d30bf5d067e74cd858e9d3efb0b0ec7dbdf022c16ec3810455a3977e93 +EBUILD newlib-9999.ebuild 4090 BLAKE2B 61bbefc5bff09cdf703584b98717a326cc73b8675c3f6a84f5ee8bf29883f1d29c3bacd40136ff2d5add73e1fee73901213f06526dc5620a5c751f82f755a27f SHA512 880a2741bc78097b7908a4aa38d867b18ca0eb9d3797de1ff3b7930c602d2c5d39d796d30bf5d067e74cd858e9d3efb0b0ec7dbdf022c16ec3810455a3977e93 +MISC metadata.xml 413 BLAKE2B 03320244c40182ff9d503fd1d9c7c3847209eeb91081e7d4a3285ed43eba6a42e0f361f6b7601966df420dde2d4e93ca458816198c2f9ebaec82790359ce868b SHA512 37e46d117243b93e189177ada64acedc0d798dfe4859f29a7ef70b22fe44e6364a3445e345def7e48264cb2bf3047ac78637759bc04d9ed3d7ea339432adf7e4 diff --git a/sys-libs/newlib/metadata.xml b/sys-libs/newlib/metadata.xml index 5025963793d5..b0a7c56f4a9d 100644 --- a/sys-libs/newlib/metadata.xml +++ b/sys-libs/newlib/metadata.xml @@ -2,10 +2,13 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> -<email>lu_zero@gentoo.org</email> + <email>lu_zero@gentoo.org</email> </maintainer> <maintainer type="project"> -<email>toolchain@gentoo.org</email> -<name>Gentoo Toolchain Project</name> + <email>toolchain@gentoo.org</email> + <name>Gentoo Toolchain Project</name> </maintainer> +<use> + <flag name="nano">Build additional newlib-nano library</flag> +</use> </pkgmetadata> diff --git a/sys-libs/newlib/newlib-2.5.0.ebuild b/sys-libs/newlib/newlib-2.5.0.ebuild index 51c3318e2020..e59c79299cbf 100644 --- a/sys-libs/newlib/newlib-2.5.0.ebuild +++ b/sys-libs/newlib/newlib-2.5.0.ebuild @@ -28,10 +28,15 @@ HOMEPAGE="https://sourceware.org/newlib/" LICENSE="NEWLIB LIBGLOSS GPL-2" SLOT="0" -IUSE="nls threads unicode headers-only" +IUSE="nls threads unicode headers-only nano" RESTRICT="strip" NEWLIBBUILD="${WORKDIR}/build" +NEWLIBNANOBUILD="${WORKDIR}/build.nano" +NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install" + +CFLAGS_FULL="-ffunction-sections -fdata-sections" +CFLAGS_NANO="-Os -ffunction-sections -fdata-sections" pkg_setup() { # Reject newlib-on-glibc type installs @@ -47,6 +52,8 @@ src_configure() { # we should fix this ... unset LDFLAGS CHOST=${CTARGET} strip-unsupported-flags + CCASFLAGS_ORIG="${CCASFLAGS}" + CFLAGS_ORIG="${CFLAGS}" local myconf=( # Disable legacy syscall stub code in newlib. These have been @@ -61,22 +68,73 @@ src_configure() { mkdir -p "${NEWLIBBUILD}" cd "${NEWLIBBUILD}" + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ $(use_enable nls) \ "${myconf[@]}" + + # Build newlib-nano beside newlib (original) + # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2 + if use nano ; then + mkdir -p "${NEWLIBNANOBUILD}" || die + cd "${NEWLIBNANOBUILD}" || die + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + ECONF_SOURCE=${S} \ + econf \ + $(use_enable unicode newlib-mb) \ + $(use_enable nls) \ + --enable-newlib-reent-small \ + --disable-newlib-fvwrite-in-streamio \ + --disable-newlib-fseek-optimization \ + --disable-newlib-wide-orient \ + --enable-newlib-nano-malloc \ + --disable-newlib-unbuf-stream-opt \ + --enable-lite-exit \ + --enable-newlib-global-atexit \ + --enable-newlib-nano-formatted-io \ + ${myconf} + fi } src_compile() { + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" emake -C "${NEWLIBBUILD}" + + if use nano ; then + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + emake -C "${NEWLIBNANOBUILD}" + fi } src_install() { - cd "${NEWLIBBUILD}" + cd "${NEWLIBBUILD}" || die emake -j1 DESTDIR="${D}" install # env -uRESTRICT CHOST=${CTARGET} prepallstrip + + if use nano ; then + cd "${NEWLIBNANOBUILD}" || die + emake -j1 DESTDIR="${NEWLIBNANOTMPINSTALL}" install + # Rename nano lib* files to lib*_nano and move to the real ${D} + local nanolibfiles="" + nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|rdimon\)\.a" -print) + for f in ${nanolibfiles}; do + local l="${f##${NEWLIBNANOTMPINSTALL}}" + mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die + done + + # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h + mkdir -p "${D}/usr/${CTARGET}/include/newlib-nano" || die + mv "${NEWLIBNANOTMPINSTALL}/usr/${CTARGET}/include/newlib.h" \ + "${D}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die + fi + # minor hack to keep things clean - rm -fR "${D}"/usr/share/info - rm -fR "${D}"/usr/info + rm -rf "${D}"/usr/share/info || die + rm -rf "${D}"/usr/info || die } diff --git a/sys-libs/newlib/newlib-9999.ebuild b/sys-libs/newlib/newlib-9999.ebuild index 51c3318e2020..e59c79299cbf 100644 --- a/sys-libs/newlib/newlib-9999.ebuild +++ b/sys-libs/newlib/newlib-9999.ebuild @@ -28,10 +28,15 @@ HOMEPAGE="https://sourceware.org/newlib/" LICENSE="NEWLIB LIBGLOSS GPL-2" SLOT="0" -IUSE="nls threads unicode headers-only" +IUSE="nls threads unicode headers-only nano" RESTRICT="strip" NEWLIBBUILD="${WORKDIR}/build" +NEWLIBNANOBUILD="${WORKDIR}/build.nano" +NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install" + +CFLAGS_FULL="-ffunction-sections -fdata-sections" +CFLAGS_NANO="-Os -ffunction-sections -fdata-sections" pkg_setup() { # Reject newlib-on-glibc type installs @@ -47,6 +52,8 @@ src_configure() { # we should fix this ... unset LDFLAGS CHOST=${CTARGET} strip-unsupported-flags + CCASFLAGS_ORIG="${CCASFLAGS}" + CFLAGS_ORIG="${CFLAGS}" local myconf=( # Disable legacy syscall stub code in newlib. These have been @@ -61,22 +68,73 @@ src_configure() { mkdir -p "${NEWLIBBUILD}" cd "${NEWLIBBUILD}" + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ $(use_enable nls) \ "${myconf[@]}" + + # Build newlib-nano beside newlib (original) + # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2 + if use nano ; then + mkdir -p "${NEWLIBNANOBUILD}" || die + cd "${NEWLIBNANOBUILD}" || die + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + ECONF_SOURCE=${S} \ + econf \ + $(use_enable unicode newlib-mb) \ + $(use_enable nls) \ + --enable-newlib-reent-small \ + --disable-newlib-fvwrite-in-streamio \ + --disable-newlib-fseek-optimization \ + --disable-newlib-wide-orient \ + --enable-newlib-nano-malloc \ + --disable-newlib-unbuf-stream-opt \ + --enable-lite-exit \ + --enable-newlib-global-atexit \ + --enable-newlib-nano-formatted-io \ + ${myconf} + fi } src_compile() { + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" emake -C "${NEWLIBBUILD}" + + if use nano ; then + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + emake -C "${NEWLIBNANOBUILD}" + fi } src_install() { - cd "${NEWLIBBUILD}" + cd "${NEWLIBBUILD}" || die emake -j1 DESTDIR="${D}" install # env -uRESTRICT CHOST=${CTARGET} prepallstrip + + if use nano ; then + cd "${NEWLIBNANOBUILD}" || die + emake -j1 DESTDIR="${NEWLIBNANOTMPINSTALL}" install + # Rename nano lib* files to lib*_nano and move to the real ${D} + local nanolibfiles="" + nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|rdimon\)\.a" -print) + for f in ${nanolibfiles}; do + local l="${f##${NEWLIBNANOTMPINSTALL}}" + mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die + done + + # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h + mkdir -p "${D}/usr/${CTARGET}/include/newlib-nano" || die + mv "${NEWLIBNANOTMPINSTALL}/usr/${CTARGET}/include/newlib.h" \ + "${D}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die + fi + # minor hack to keep things clean - rm -fR "${D}"/usr/share/info - rm -fR "${D}"/usr/info + rm -rf "${D}"/usr/share/info || die + rm -rf "${D}"/usr/info || die } diff --git a/sys-libs/nss-usrfiles/Manifest b/sys-libs/nss-usrfiles/Manifest index d734d399eab2..46603114bbbf 100644 --- a/sys-libs/nss-usrfiles/Manifest +++ b/sys-libs/nss-usrfiles/Manifest @@ -1,3 +1,3 @@ DIST nss-altfiles-2.18.1.zip 42369 BLAKE2B 9ca579cdda60aadb6ca7b153b0797d773b732ae9a3d442ba0020c7542e1f2bd1635989794477c85f855813611414ab3c12bb8d567eddcaa60d49189793f82d19 SHA512 d9e2c34ce2518a5310578a2b99a59fc1a8142c252c41e5dab0fd0c07e62ccfa2e3c5d2dd29e179514f3b37537bb0576e2bc3c850f459fa251cd57923438981af EBUILD nss-usrfiles-2.18.1.ebuild 678 BLAKE2B 44e412eeadb733449478f75554bec808c34289cead25b36ad7dd69ad56905941e274ca9953552fd026ad1f830110f92c8d44670eb55f02f0d357891f9b4e8e19 SHA512 dad315420bb9a5f72acab271eab41c07ab045b5703d5b94ff4993b15156a77ddaf5f50ab64e4a2021e303239d59686cfd329a47ca15bd0aa73f2be3e418e5f8d -MISC metadata.xml 326 BLAKE2B 5a5c06e59cc5686172968d5ce2dd5ccf9b99865917be0c8914d0ce79055e3f02401ee34ae0d011b602ca6a936792a5fc3c6998c6a0294d456517fea681c5ba3c SHA512 1264c4689eb03ec6fa879b069d313d04bc72cfcc4a89a72f8644ed4c94739996792d921d60024a285c3719b5d311fa3e67d41c0d384cc609edc7e0379ac2b717 +MISC metadata.xml 223 BLAKE2B 6d4e89ed403761924600267c68ce9e7f9e35608f095a92b02499696638ce324060432b2fe8166b98c196735e4e4ea5b27d4b0646ecad75211d0c700e26c9848b SHA512 c760cf0c943d4fb7f3de32262e91a90e14ab3c9dd3f3fcaa38973a45adee2263e5a52f6eeacb1491b25ea123f74208a3ce32dd9e5cbb24049408c77062991ca0 diff --git a/sys-libs/nss-usrfiles/metadata.xml b/sys-libs/nss-usrfiles/metadata.xml index 7b6e2601d4ca..dfeb31366c3e 100644 --- a/sys-libs/nss-usrfiles/metadata.xml +++ b/sys-libs/nss-usrfiles/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>ryao@gentoo.org</email> - <name>Richard Yao</name> - </maintainer> <upstream> <remote-id type="github">coreos/nss-altfiles</remote-id> </upstream> |