diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-12-25 23:06:25 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-12-25 23:06:25 +0000 |
commit | 441d1370330332b7d78f238d2f5e13f7aed5e4e0 (patch) | |
tree | 6a5171dd615dfeee62a45044144c66e864738fb0 /sys-libs | |
parent | ab3da91fb6c91a9df52fff8f991570f456fd3c7a (diff) |
gentoo christmass resync : 25.12.2020
Diffstat (limited to 'sys-libs')
47 files changed, 2688 insertions, 1591 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex fa974b2da3b9..3d2777ba46aa 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index d0e1867e05cd..5c36691839a7 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -6,7 +6,7 @@ DIST binutils-2.35.1-patches-1.tar.xz 10088 BLAKE2B fa4b0c417b6452757f90243921c6 DIST binutils-2.35.1-patches-2.tar.xz 72236 BLAKE2B 584cb3edbda28c69171ed64e941535f992150d86f25201cadd07b63daaa36bf76b07dc0aa8a4837da17d1672feb47a7b15f83efdeec5409e695965a10142147a SHA512 b704ebe82c4402f058f9c96991a89256a6b369d28f844bf020ed2c77766894d9a2ca0596cd609de7b389fa8cd52bfab674b6deb10ea2096e50aa57921be2083e DIST binutils-2.35.1.tar.xz 22031720 BLAKE2B d3468da90b75e9b5fa7fbd64d3fdb0a4bc445e4cb7da5ae058f73a1e9d948b3e9438bc9f1b5b351db369b76a25960c9c1f58f828fd2c7646f555de45fa3c052b SHA512 94ff72708403413b70b247f3af4099ebaa882b6659249869f1ed9941a0f1912e313f08357d470f9fd2359e7f5e5b0eb86285e5eaf883fa8187789d6b1bd304eb EBUILD binutils-libs-2.33.1-r1.ebuild 3549 BLAKE2B 931ae3c38edbeed8cca61909b5e0897bc37f3855820ac49ed97955c611a2c8a58c50df2e87d4f13674ea7de511638205f49932663f25afd9f2b96970803dd91c SHA512 9e17954c198e39f725603fd9b6d1c3c24e39c99ee823a3e15b3d5c4838ae507787cb23aaf36e5dbfb9052656955b114a95b2cb3f8b0fc96ecfb0b5ed970053d0 -EBUILD binutils-libs-2.34-r2.ebuild 3565 BLAKE2B 1e1d24e6320777201a19b9a8949ad83954190cf13bb48c06b3c0277fe4544ff6bd9112b9a45f6e01c45023be8af2505f4c9cb70230b76c44bf6f077812fb10e2 SHA512 8cc6f9c2519c63a8c1d98fe43476fd5fadc67c2a27f18f9a3d1ed9c9adc065a7e50e1524972f3e4e694ba3f8231212cb433f5b8dd21a6c11c6918b1f90f0009f +EBUILD binutils-libs-2.34-r2.ebuild 3563 BLAKE2B e615163666ae95731737c72cb871579e4fc0a53394d0cb3aaeaaf924e1ad3e2193d18366894b48f51d7c9bc1dd25aa44022f3cc349ed24fd59f1acdb2ddc5158 SHA512 f9d0f860bb21bf4fc42d3fd3ccf7fbd5a52f1da31e805e03dd005da0cd2af74243b26355d82cac4712df2540f363343185601697b92194ed6f81e29d7f7d7bbc EBUILD binutils-libs-2.35.1-r1.ebuild 3756 BLAKE2B 386ccb1dd2e0c1c735b359fb3453e4d09ab741e15730cb92c793dadc870ad2bea793087b1a3016ff7bda22a796f8beb4acd045b9ee27c8a7a9c761f87d24a7a5 SHA512 d22287f772a3c80c6de499b0437c8e66c3ef0001d62182d6adcf2797829ca3510ecf76702b6e599f6d068293df546bf69e2e4366d4663203bd88ed735fd1c9d9 EBUILD binutils-libs-2.35.1.ebuild 3572 BLAKE2B c81c435b987840387a3d0d45aa9b3f8256f1f9f8495f203229e8186b1db299151a38adb8f4bffa098fa04bddc45cde52626febb38145f924a859b72a34e61692 SHA512 96eef2876f54bebab53db22b48d5f86dba4464aa700896640a6d942cbeebfa4f6c68b534b553149c0861f72fe753023cdd6fbcff2ba248f7c96da61165308fc1 MISC metadata.xml 524 BLAKE2B 6f00793b2dc155b19d816b8acfd49e6bfc2ae35418ecc97fbbd3f9d0ed08b5f95a299b28fe6edad1a66f4d64abe99dc8a62a974fd70e28b535cd366239bf1cca SHA512 9db7c7a3082ee848ec4963831da06cced596d543e53660747fb56ac33998c219e1d7252892ffc32132d7db3c99ce9746fb6d9e85f866c3cba97552c31948342c diff --git a/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild index dfcf868d436a..1158cebbca70 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild @@ -21,7 +21,7 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz LICENSE="|| ( GPL-3 LGPL-3 )" SLOT="0/${PV}" IUSE="64-bit-bfd multitarget nls static-libs" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 sparc x86 ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" BDEPEND="nls? ( sys-devel/gettext )" DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 400130daec47..1a130e7f9cae 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD compiler-rt-sanitizers-10.0.1.ebuild 4501 BLAKE2B 3a15cc67e7fdbf61e2103ca9e543f936cc6f3221f0f3b7d43788cef7785f5742674ab0325e8c0c5cefe8909cc860a9ff0d42b615c367c1ea736cc745817cd9d0 SHA512 97b6b2b68a6de75e211b5f181d76fcf573f72fef7ff8f49248d03d201c2fec6f7d525c048b5b8b5cdc79c8512948f0ec75d5dbaa286172df929d264956d2c675 EBUILD compiler-rt-sanitizers-11.0.0.ebuild 4567 BLAKE2B 116a4cec6de2f40d0b819182ed5317f58e5913efb884d2af028e39e23ee021d842cad8ab72f405b9eef0459477c74acc87b000fe1ecf39a41c7e1a579424469b SHA512 04d729e2453a4e40bdc4c4b4a650dc4256ef00cdd3a29b3a90fa0b390e5d691d404c01accff05d4375b2b6987498453255a1a915ddfb34eb4da4c43ed4a4a58d -EBUILD compiler-rt-sanitizers-11.0.1.9999.ebuild 4491 BLAKE2B fa7e441b014225d4f08b369e839068083f97abfc23cb9923876bbcd22d4fc988a6c87eb7ec128ada251dd6897813a51ad475588a343c954d61fdd11267f04cfe SHA512 7cc1082997453322f4f8e3423d9b44b2b0d1dca1ea1a5b1f40392484605c58a49b6b825248f46f5c0e81ae58e7416475eea51d260d456c8b0a58a8314f2f302b +EBUILD compiler-rt-sanitizers-11.0.1.9999.ebuild 5257 BLAKE2B f9ece6b21493dfbb263e89cb45daaee0bc0b947be6e7c1d55a19e881b9ccb04e10e63dc6a4be3de1f94ddf243c38d35e7ce5d8827adddc653aa7687d3fc0a5a9 SHA512 f0c896a887286c72cfa9049b85a1111adf82e86d1db2b2d95d04ba9feb0f539ea9cdfedb63ae2a981357bc9c52647841d0eabd50766d777572e27b0b2ad4d563 EBUILD compiler-rt-sanitizers-11.0.1_rc1.ebuild 4491 BLAKE2B fa7e441b014225d4f08b369e839068083f97abfc23cb9923876bbcd22d4fc988a6c87eb7ec128ada251dd6897813a51ad475588a343c954d61fdd11267f04cfe SHA512 7cc1082997453322f4f8e3423d9b44b2b0d1dca1ea1a5b1f40392484605c58a49b6b825248f46f5c0e81ae58e7416475eea51d260d456c8b0a58a8314f2f302b -EBUILD compiler-rt-sanitizers-12.0.0.9999.ebuild 4491 BLAKE2B fa7e441b014225d4f08b369e839068083f97abfc23cb9923876bbcd22d4fc988a6c87eb7ec128ada251dd6897813a51ad475588a343c954d61fdd11267f04cfe SHA512 7cc1082997453322f4f8e3423d9b44b2b0d1dca1ea1a5b1f40392484605c58a49b6b825248f46f5c0e81ae58e7416475eea51d260d456c8b0a58a8314f2f302b +EBUILD compiler-rt-sanitizers-11.0.1_rc2.ebuild 5394 BLAKE2B 1702cc91568ef526d454ddf0585550f751512b0701aad7c33f10a083e69e019e3cdcf7898ccbb132e6f6f5bee404404aa452c0282564453011df97dc92c717e3 SHA512 566730a43f39736557df25585f20db47a31616d5bfda497c7cb94c7ea9d987a8d314a61f6a635bbaa085467f528cd3cf3584bff678b6429a711c655cf2ccc447 +EBUILD compiler-rt-sanitizers-12.0.0.9999.ebuild 5257 BLAKE2B f9ece6b21493dfbb263e89cb45daaee0bc0b947be6e7c1d55a19e881b9ccb04e10e63dc6a4be3de1f94ddf243c38d35e7ce5d8827adddc653aa7687d3fc0a5a9 SHA512 f0c896a887286c72cfa9049b85a1111adf82e86d1db2b2d95d04ba9feb0f539ea9cdfedb63ae2a981357bc9c52647841d0eabd50766d777572e27b0b2ad4d563 EBUILD compiler-rt-sanitizers-9.0.1.ebuild 4847 BLAKE2B cc23d456a4c52596858a405bc74c3c5db35c4fe116685cba4982e2753ba01941bd2c166f56e4278c79e02b06229e90a7fba9fce923360dba8bbf516c8a665ae6 SHA512 dc11719f142cfa56c86373e7e6dba88957511218a654c138ab37d3de01a60bd77f8dd4bc90ed634156d0952b350dce1bad08f8a2db1a7d207335596cdd0bd4d6 -MISC metadata.xml 547 BLAKE2B 6f9d8b65c12797fd3d168e9b3948c604265db135bda5493d9f1d8b1d01fd73a79d07e5241afc3a7fa1672827fac23d3d9dc4d7ae42371a0de892a900c8c28269 SHA512 fb73a96b1ffbc7ff2fecfba35c9acd3e54ade0154016ae04423217f5c000eee2b0b821cc626908647551a0aa7b7f462d42d56cde3993ddd52248bc373b117c3e +MISC metadata.xml 1280 BLAKE2B 68347dd2fdb4698150d2e19f2880437b0607360d06ae1e87b753d3d2f91a51265cc1abb76d59fd8933e42ea2df2643f694d7722f88957a9e927877830f181690 SHA512 41348dcf18acf298501484813d2194d4bffcf6f24ca6758b7b5ba4d84b7270a7c467c365eea4c46d6a75824b483bbba4b3e7a2146c0773e1dae91e7cce884cc7 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1.9999.ebuild index 1e3a849c675a..81547ee16054 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1.9999.ebuild @@ -12,9 +12,20 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" KEYWORDS="" -IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc" -# FIXME: libfuzzer does not enable all its necessary dependencies -REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )" +IUSE="+clang test elibc_glibc" +# base targets +IUSE+=" +libfuzzer +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer profile xray ) + gwp-asan? ( scudo ) + ubsan? ( cfi )" RESTRICT="!test? ( test ) !clang? ( test )" CLANG_SLOT=${SLOT%%.*} @@ -62,6 +73,20 @@ pkg_setup() { src_prepare() { sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + if use asan && ! use profile; then + # TODO: fix these tests to be skipped upstream + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + llvm.org_src_prepare } @@ -75,6 +100,14 @@ src_configure() { strip-unsupported-flags fi + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install @@ -87,7 +120,7 @@ src_configure() { -DCOMPILER_RT_BUILD_CRT=OFF -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" -DCOMPILER_RT_BUILD_XRAY=$(usex xray) -DPython3_EXECUTABLE="${PYTHON}" diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1_rc2.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..f5ea6f732f74 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.1_rc2.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) +inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+clang test elibc_glibc" +# base targets +IUSE+=" +libfuzzer +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer profile xray ) + gwp-asan? ( scudo ) + ubsan? ( cfi )" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + !<sys-apps/sandbox-2.13 + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} + sys-libs/compiler-rt:${SLOT} + ) + ${PYTHON_DEPS}" + +LLVM_COMPONENTS=( compiler-rt ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + if use asan && ! use profile; then + # TODO: fix these tests to be skipped upstream + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + + # broken with new glibc + sed -i -e '/EXPECT_EQ.*ThreadDescriptorSize/d' \ + lib/sanitizer_common/tests/sanitizer_linux_test.cpp || die + + llvm.org_src_prepare +} + +src_configure() { + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + if use test; then + mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_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/${CLANG_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # disable use of SDK for the system itself + -DDARWIN_macosx_CACHED_SYSROOT=/ + ) + fi + + cmake_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # 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/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${CLANG_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/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.0.9999.ebuild index 1e3a849c675a..81547ee16054 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.0.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.0.9999.ebuild @@ -12,9 +12,20 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" KEYWORDS="" -IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc" -# FIXME: libfuzzer does not enable all its necessary dependencies -REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )" +IUSE="+clang test elibc_glibc" +# base targets +IUSE+=" +libfuzzer +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer profile xray ) + gwp-asan? ( scudo ) + ubsan? ( cfi )" RESTRICT="!test? ( test ) !clang? ( test )" CLANG_SLOT=${SLOT%%.*} @@ -62,6 +73,20 @@ pkg_setup() { src_prepare() { sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + if use asan && ! use profile; then + # TODO: fix these tests to be skipped upstream + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + llvm.org_src_prepare } @@ -75,6 +100,14 @@ src_configure() { strip-unsupported-flags fi + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install @@ -87,7 +120,7 @@ src_configure() { -DCOMPILER_RT_BUILD_CRT=OFF -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" -DCOMPILER_RT_BUILD_XRAY=$(usex xray) -DPython3_EXECUTABLE="${PYTHON}" diff --git a/sys-libs/compiler-rt-sanitizers/metadata.xml b/sys-libs/compiler-rt-sanitizers/metadata.xml index 8f5cbb8b29ad..5f139415fce4 100644 --- a/sys-libs/compiler-rt-sanitizers/metadata.xml +++ b/sys-libs/compiler-rt-sanitizers/metadata.xml @@ -11,5 +11,20 @@ <flag name='profile'>Build profiling runtime.</flag> <flag name='sanitize'>Build sanitizer runtimes.</flag> <flag name='xray'>Build XRay runtime.</flag> + + <flag name='asan'>Build Address Sanitizer runtime.</flag> + <flag name='dfsan'>Build Data Flow Sanitizer runtime.</flag> + <flag name='lsan'>Build Leak Sanitizer runtime.</flag> + <flag name='msan'>Build Memory Sanitizer runtime.</flag> + <flag name='hwasan'>Build Hardware ASAN runtime.</flag> + <flag name='tsan'>Build Thread Sanitizer runtime.</flag> + <flag name='ubsan'> + Build Undefined Behavior Sanitizer runtime. + </flag> + <flag name='safestack'>Build SafeStack runtime.</flag> + <flag name='cfi'>Build Control Flow Integrity runtime.</flag> + <flag name='scudo'>Build Scudo Hardened Allocator.</flag> + <flag name='shadowcallstack'>Build ShadowCallStack.</flag> + <flag name='gwp-asan'>Build GWP-ASAN runtime.</flag> </use> </pkgmetadata> diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 3cade7fae36d..017e6fa5d30d 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD compiler-rt-10.0.1.ebuild 2770 BLAKE2B 68ee449ac28f519a2cc0ec03b73aac5c770064f0350b5d1803a861386ac6b295947da9362b26dd6cffd90985f429beaf382ed949fc56da32184c9dab3aaff843 SHA512 2aea27ca4b4ccdc9c295b82c5e19558653945f87aaca03e50158a584044f8b0694f99ceb6c27e9fc5eb4e89cbc7851a4953e5a0a1494a49c46da7079962e3b14 EBUILD compiler-rt-11.0.0.ebuild 2836 BLAKE2B 675ad6959c74f5d91c85129bb7ec8b3e93445deb4db3b7a4b1e8ce0e93b87081caa96dab4bb06ac67f9a0af318adcddfb17141562e4dde074d942ddaf3e586b1 SHA512 e557ba5f6511817caf5e6bea44835c28fbe6720e62d2ebe3fb22f758678f4054598e0770bdbfc2b3714dc8153fa350b07fba8cc8f42fb98be6cd849a1ea1de6e EBUILD compiler-rt-11.0.1.9999.ebuild 2760 BLAKE2B 917e1260aafc22fa4193d4881e52a4c686d5a8673f6958261986b02f3987f159206843e3b62221e2a2af53192f9ef905c9edcf7311befbadb55c9a4b883525f0 SHA512 91498187bf9629e9f58e4b090cfb237c548c4f08b7a284d3a5df29d6803efd9aeb352a4ef6c6ddb23b9bac2f22dd0a06c75ac7039addd1ee920d08fc3a84cfa3 EBUILD compiler-rt-11.0.1_rc1.ebuild 2760 BLAKE2B 917e1260aafc22fa4193d4881e52a4c686d5a8673f6958261986b02f3987f159206843e3b62221e2a2af53192f9ef905c9edcf7311befbadb55c9a4b883525f0 SHA512 91498187bf9629e9f58e4b090cfb237c548c4f08b7a284d3a5df29d6803efd9aeb352a4ef6c6ddb23b9bac2f22dd0a06c75ac7039addd1ee920d08fc3a84cfa3 +EBUILD compiler-rt-11.0.1_rc2.ebuild 2760 BLAKE2B 917e1260aafc22fa4193d4881e52a4c686d5a8673f6958261986b02f3987f159206843e3b62221e2a2af53192f9ef905c9edcf7311befbadb55c9a4b883525f0 SHA512 91498187bf9629e9f58e4b090cfb237c548c4f08b7a284d3a5df29d6803efd9aeb352a4ef6c6ddb23b9bac2f22dd0a06c75ac7039addd1ee920d08fc3a84cfa3 EBUILD compiler-rt-12.0.0.9999.ebuild 2760 BLAKE2B 917e1260aafc22fa4193d4881e52a4c686d5a8673f6958261986b02f3987f159206843e3b62221e2a2af53192f9ef905c9edcf7311befbadb55c9a4b883525f0 SHA512 91498187bf9629e9f58e4b090cfb237c548c4f08b7a284d3a5df29d6803efd9aeb352a4ef6c6ddb23b9bac2f22dd0a06c75ac7039addd1ee920d08fc3a84cfa3 EBUILD compiler-rt-9.0.1.ebuild 2916 BLAKE2B 4725960cfa3ff697f1b17d709c7a9f463aa8aaf2da33592b6c5d129fc4acb51181a4712c1afce01c0b97e441685cc5932524f02cbacb339f5c7c315813e4ec72 SHA512 2b038aeb653043691f046ae2930cac58ada17ece1f7da2699e1e9ce4dbe1903f21366ca82cb3d08605875f0b24fc0a9707bbde2ea6a039c080f0d54268071f0f MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt/compiler-rt-11.0.1_rc2.ebuild b/sys-libs/compiler-rt/compiler-rt-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..38a2cbc81fbb --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-11.0.1_rc2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} + ) + ${PYTHON_DEPS}" + +LLVM_COMPONENTS=( compiler-rt ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + llvm_pkg_setup + python-any-r1_pkg_setup +} + +test_compiler() { + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + local nolib_flags=( -nodefaultlibs -lc ) + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + # ensure we can use clang before installing compiler-rt + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + elif ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # disable use of SDK for the system itself + -DDARWIN_macosx_CACHED_SYSROOT=/ + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/cygwin-crypt/Manifest b/sys-libs/cygwin-crypt/Manifest index 409223afac29..0825c52c894f 100644 --- a/sys-libs/cygwin-crypt/Manifest +++ b/sys-libs/cygwin-crypt/Manifest @@ -1,3 +1,3 @@ DIST cygwin-crypt-1.4.tar.bz2 4446 BLAKE2B a0644f036c55fd169a1d708d51fc7d3b1cc0a94fba845319357b4251eb379aa799ed39ba81b2551774c870944b19e6e1053453e1e99b48a93ed5a62272c37e25 SHA512 1ecc4256730f13161a651cfdf71b27c1042e6f56fb859943426c371d4b37b8b2bd6ea768f86e45f7b8cf3478e97ff9578b79e5c37178c8794ff9b87799f2cab3 -EBUILD cygwin-crypt-1.4.ebuild 869 BLAKE2B ffac7bde9e94542ac635d5b60cd4f9268d7516dabbdac58b5646e8dbe7ed20c1c31e05e2ee8f88856271d17fd3caf387f98c5f37ee2a52fbf4c45febdcbc91f2 SHA512 c60bf76fab75226c4266e837d4e4eb5bcb572bad6cefdd49431f3eebebac91f1434ffea5c90843b0bc15b3b7fcc2eeec4fcaaa32c7129e4ed93cc16b4340c3de +EBUILD cygwin-crypt-1.4.ebuild 854 BLAKE2B 82868e38fc34dc233ecd8b72dad6b24c82c2ac142d15807c4e64c4e48fbe3035b8e7c10341834c585f306395f60ae3d44243b72c4cfac9066884e92105d323cf SHA512 725f80eb0acf1d0a30ff8a0afef0abb67bf21ce32b1f86f9066f42eeb37b2d324373dad87709567454f9c90790df9a5bc7b02103476012ca35f113f64a9d2864 MISC metadata.xml 517 BLAKE2B 08aee319193ca3b6efbeb61157a841554e9fe9891476ffad4addfc8156cc5f7844201fc7ce2eabca6c0dba72792959b90850bd58df198638c108e980baaa10fb SHA512 3434a72bc3776b411a6fa9cb4948a77c510002e145fb2986552731a1da3fb16152bcca762e72c12de5369a66ba9add93848783364f30e68b0de1cefbd2458e2c diff --git a/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild b/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild index 1b97a32993a0..37c9ff3d46f3 100644 --- a/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild +++ b/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -16,7 +16,7 @@ SRC_URI="mirror://gentoo/${P}.tar.bz2" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~x64-cygwin ~x86-cygwin" +KEYWORDS="~x64-cygwin" IUSE="" DEPEND="" diff --git a/sys-libs/darwin-libc-headers/Manifest b/sys-libs/darwin-libc-headers/Manifest deleted file mode 100644 index 4fede322d843..000000000000 --- a/sys-libs/darwin-libc-headers/Manifest +++ /dev/null @@ -1,38 +0,0 @@ -DIST CommonCrypto-60092.50.5.tar.gz 606900 BLAKE2B 1b6ab62b1a9fac03c4568f3c0f2a64a2fdccc6f89f0f9aadce4ac9a1abd8ceb780c6ff8ee161bc3b1fd386b602a54c79590ee0c163e3b66a2d49276875a8448d SHA512 52d8108ac7951b3b588069338390d69afa581aecebc85130a46ba8a73316cc1964fe3e0251a703e769a420fcd11c056b03e952301785218dfdc5a31cdb971e2c -DIST CommonCrypto-60118.220.1.tar.gz 625670 BLAKE2B 8287100e973b7fd69c2f0a9c456b33379f66dd7f27923a3b5a4af1621f8166c0f5ccc6db560bc418067ca3c2dc6d6a7ea33276024deafbd7d53e1b475501d1a7 SHA512 0f109b5b25e8036cf35946028fb078c47e6d9c966380848efe320ee5e53e197a3aa678b998d83c6537d82f1abd20a73bebbb66a09b788a617f573538d81dc342 -DIST CommonCrypto-60118.50.1.tar.gz 622283 BLAKE2B 8f1726190ef67f8777516d6b760846fcacaa61019dc54141bdc2ed06cb955b717e53cface03a87a01201c2e98740d283cf5ecba87e76f62a9d93863cc6138167 SHA512 fa1bd62acf0cd2912e082618024f26efc0e674dc1f4bf925d1c6ebc65eaf224673548bcef26f982892c3b032a0f52183ae4717bc0fefc3c0977a912e22dfeab4 -DIST Libc-1158.50.2.tar.gz 1876052 BLAKE2B 0bc7d8cdc343c6c67d54f4a15b1add6aafb59526ab19021cacc892b2ac652b5a8faa7d9319e5009d7097944f424cfce8b006fc7d8d3ec34b66c6c5b307056e91 SHA512 8d6bf09122f47184ce588ee1b6388fe7cf7cb9dc689310ac7ec56f616cecacc3667f76bfde4325e2a5558ea56ee20d89c626ff9ecd4e5cb7c466220290601a9c -DIST Libc-1244.50.9.tar.gz 1989821 BLAKE2B 96d8be589318523d6a7f39c46a7a59bf8652e4924e1442130926ab285e4fb2a8f09bd674b304feae1907f747ab7bf3dffee1d1e990ce40ba1c5a4b8c03e5087c SHA512 425229c77d24b2fb6e69cd036460642191c7c6c7887b1e84f2c8f78a2791624a04c9d34bd93443ee7cf09381b0b5043db3bf25bb5f75bff5dd2c042ac1bf7882 -DIST Libc-1272.250.1.tar.gz 2020635 BLAKE2B 7ec6be323928e169a23de08858cfb8f42f0289710538163a43c8543337ad5b1eef214d858388700d773ec75adef6010a94c760a6c0fdb0892a5159d7667d8401 SHA512 787934b4c25cb27dd624d73553baf1af93dee1568535326f8499d2fecf30b396c8e3e2c5f060ec00b9ed098ad1143b3fe1c272b234533fb8889585ae1decab45 -DIST Libinfo-503.50.4.tar.gz 283084 BLAKE2B 69f4a32910bcdd4870c23d54916b913336ea4e13430d23d94aa728958f4da54930702c332c427155501cb6c3929a49d585db401971dbe093e05ade18c57ea316 SHA512 145ad52b14050126da9f3e17507a7e3a83e962ac796d4f014b6b44554e33a499723fdf4f6912b1457e435997cff4f5fc29f1d7424397169c5709fce762fda9d5 -DIST Libinfo-517.200.9.tar.gz 306337 BLAKE2B da91c8d79997fc04eaaeca21b5dc90336c2d43dda4641fb91085f5a32157ab50ef022886b5b4ff09e2c306a8f887c4280a045fb01c04ca86f3e59d2bd5cf8d66 SHA512 8c2f72484f584312083095b8e8a373ae349e92bca2cacebd460e6e7c885d98d5dc3975eb37c348f6e65ff77af1990d3111468613af105b8605c7d575d8119eaa -DIST Libinfo-517.30.1.tar.gz 293825 BLAKE2B dd19937b9c8419e953ff1e22f73dc89a9328706c87284fa6f138e23c97c236600f20e71d1926607211cc82766d3c3a9113381f2471046aceb01a56d3d332f2fb SHA512 48313e8ce4822ad61023faf364d7d64d7f15f8b70930d3052c321c9b555c4af20fd6563ae4b890e0504a1ca141423635a1bb7561cb82123cb0593ccafec6f915 -DIST copyfile-138.tar.gz 52035 BLAKE2B be62d549a45d7f8140d10a3f5857e8d445e5b968e05b82ec73668176047a94b7799b41450223e32406c3ba6677a1a6c694eb8b0ad839a25c37dd4657c176e5d7 SHA512 455fb02b8f5e03a751ebaf05af7cbf2efa60ce5a8084bb3953044abf71ec6b75f394fa5f7ec7fac76532a4216b0930100aee972963cfada83eed73717a881fd6 -DIST copyfile-146.200.3.tar.gz 65045 BLAKE2B 4e5b3524e6e5a54046a68b04d0277645d6ba5be466e669cbdd7a78d41c3d1a69e222cea55198ae53c5803c96fd6ba7ab4543d0bdc42b5cc99054815a84de664f SHA512 555c320eeb27373f68f1a8844ead0614f734e47f7a3d87f867663fc8d6a9e6fa295c1159f9be4e32af2f0933f3e56dd52288a3b2ff970966de5436d2ac054f2f -DIST copyfile-146.50.5.tar.gz 64621 BLAKE2B 1bbb368dff263e43ebd97802310f98af2592c5a04279297a645e042179f86815376b393b44cba60be5d25e89a15e3b58751da9fd30ccb923d57d62f9c08808d3 SHA512 e09cacf3c284ca3460cfc8263d75b810c2e853a6a134ff3568af86394c90f04d866ba8d1e5996a2e009034fdd9e44162b04faf2fcefe56aeb12e5d128b0a678f -DIST darwin-libc-headers-10.12-r2.tar.gz 3867106 BLAKE2B 6ac9399716da731913e51b141935496e9ce5e596cc58b971224b39b3346c961e8b2143e88c279736a557c27e64dc286436e662b4fb63183440948d31ab761b52 SHA512 7098832b46fd79d3a5255711a8825c63bea5f513c7646363912b08203d24c30b334cb9745cf84732ea558e50f71c0327eca53c5a8bc81daafffb10c6a43bd3f1 -DIST darwin-libc-headers-10.13-r2.tar.gz 3653319 BLAKE2B 96874e314adaafe129fbd35b743ae7e3f4a258ee3a21872cc197c1fe9244f74309321664fecdd0591583425f0e4bad2eb2bc024ae5eb04a864e27db14a4cf39f SHA512 a41047db4740933e961f433660661fc84fd7a124e5ec9806859042ec32680075f35953b96a58576b494ac0c5add7abd91522b1111b862b23fef7d12049e35e5b -DIST darwin-libc-headers-10.14-r2.tar.gz 3984239 BLAKE2B 6c0681691dffe9e105b05a63d7a9022f0085dd89154e721c11dbadedcb2382bfc029293a6c510288ea5196f69a763a7eee34a5b5224d1072bb41b4125d224f2d SHA512 422139e55ef36217b38f8ee7f3b8dc78ca127358b5fcfbe2906c22597aaa52a55c576830cf19528872fb4dc6960a134783292d714c21a8be5b7d664bfafff9b4 -DIST dyld-433.5.tar.gz 632900 BLAKE2B b051aee22eb646942473f698b1f29f9acbc0ab20b0c1a60578123b4db5032290f02301bd2d867724b424b74a08470cdd29b47234063df2d100fd535bb8ec3ed7 SHA512 9479b66e5956a852491e1d080d45ff4c9254aa5bf890c634a6cf973f6e45862d282e00ba81c6ff4c849a643585920b654964ed4dde280a73849a84dd8f7be830 -DIST dyld-551.4.tar.gz 832297 BLAKE2B e65c5b2ed90af6ec94f1295efc984404af99f0e5dc666bfc854379f13fd2e98b8048fae84b7bc8864fe27112abf12f741a33cc404b18ae7c88b7abd6a1d9e3c6 SHA512 896281c4b2330c92ed538af58f1b60906ed0a9ffa3099a5e8ef9a15b7ed974259bf546fd2ab7562739f2c8cf1fdfb44ea0ea7567092c77f2ea2cab377da064b0 -DIST dyld-655.1.tar.gz 907306 BLAKE2B d0c22abe50575dc80214d2eba8a057068e4e2d7f06f5562e7cdf29293de9c97fffece206d9324ba37c0b98afa583693e2c26fcc91f0ea089720fc960709e93a9 SHA512 7054461b6ff2ba24153f2097516c1273c77ec0fd7edd5108c336bc22990b45eb68974bcd654b9a45724fd631253443f01988e9b1647dc37f8ae5b8d18bb0352d -DIST libclosure-67.tar.gz 128749 BLAKE2B 2ca085bd3b98bbcad6a10af27fcf058941b755a4f3ff88102ce5bda4293d2f693c06569726ad368c08bceea8997e3ffc4019c21320d64c861d866eb30dc99044 SHA512 b3c5ab14f8e0e60ef11421cc366f6596864d5837ade51a3ef7b9cf2de7958a0dacf6a5a07ee3e6db03bbecc696fce7b60091f5820450b29b447596c04d2d7ee7 -DIST libclosure-73.tar.gz 131448 BLAKE2B fec5d92d6e9ddb338d730eaddc1c83e94e1a16323308abb0531118dffe02f8e50aa85c2721041a17ab4ef3fc15ece3a6f4b5045bca9c4e3cf3d54c2fdd8b42d1 SHA512 9749a5a08b0720eec1acedc60952b0ccc40f9cbfc9a326e0640280e0d017b9d241827bb6c5a9e68077662439877f3bd14082b7972399144bcb723988bb30def1 -DIST libdispatch-1008.220.2.tar.gz 503589 BLAKE2B d09427bbaf5a3c38ad036bb0d05ca3ba548be22bda59829be43db6aaa0509199d088b854326a95494fafd4870b2d00dcf31bd5ea4484b3a37e682c89cd6db781 SHA512 f3df85d1f37449ea8538a3e34f3b90abd939a6a3ff9ea0882a129597ab024773f5499bee173bf8062cbf5c48f8a1f52dbbebab12f5abb1248ddc78edc66f79ed -DIST libdispatch-703.50.37.tar.gz 415675 BLAKE2B a30695458f274bb869556837ee69f0f47839fd8741cb446c0c9513ed0d971f44a7eb55d7276db34b5ac3409b68ec283576ea547f12052cfd656fc110ce95cfaf SHA512 a23d3850dc7b6b6e3ef09764a202d6600fc2f238b8dbfe9b13e63b6aae2336dc800d86d987afab88d9c4493d30824468a31a48997b2cfbd2d743e7f1e6dc28cf -DIST libdispatch-913.60.2.tar.gz 463117 BLAKE2B ec8d90788c86853bd8b65ec953b0e96c57e7a58765d3cd2e53e6c6aae4effa16ae16d18b44e25121717e26774f031391e977d6adaae796192b1f14acdc1dbfcd SHA512 29520016db9fd89457f76d86d889834140e211b6da35bd370178814e97e8f6ffce4b36d96cf41af1280846cdff0ba4ea6ca58d0c63e29ab1a49595c6e52030f4 -DIST libmalloc-116.50.8.tar.gz 186880 BLAKE2B 00ec1cf6dc494fad1e817d942323da86f4de6ab35d92702b6c98b7b0fdb765e756f566298d3369165b0cdf687d43a655be64e3015f884c4d1cd7b7a286669de6 SHA512 a2a49a1d12e66618b124917617c942a51ac36b7b4a12c218b5c979b9d05db822949fc8ffada8901f551f5c2e7fce9abf1d3aeb4a6507f5870a9eab5b9f69ec18 -DIST libmalloc-140.50.6.tar.gz 208453 BLAKE2B 40b7f0052e81bc7862b7bffd302a7868f1f0e6dc11c799370842457635d32bbc61e75753b2b6ebaf2dceaf26b43d7bf4efc718df91c91e0f5572929cbc9bed1d SHA512 9d39f9758f85cfa61835f9deaa4ae4958569aac0da006c5f0e87aaab2cd902b60f60e537fa0d9250401b7177f8c186e8c8e6498b48ee3eaf856daf103bf61412 -DIST libmalloc-166.220.1.tar.gz 277584 BLAKE2B 2fee2a98aa0babc958726522639ddd135b4383bb8328a4d879481e27ec051bd530fc540ba2d959504c457a67536197632e28384959107b103bb466f96223b9ba SHA512 ebbe6d6e5d4cb4e6d928df49c8ab6582e4197ae9b7ed4e1068afd4227ca3e7d22f0d10d47745abcd7f983a75419c8fa7c94d127e3624cee16fa557434b0c3cef -DIST libplatform-126.50.8.tar.gz 85182 BLAKE2B 3b33b4539acf32358e6288345d33d208fa14fd25d7f1cf8e0af78c6da9c646a57e6f3220f712867d8ffd72e3ffe4ca6f6fce138994c8c825138e7465e4b896d8 SHA512 4c8a15d33aef84075031bf13dc14f1ce31c269ca4117d7249884f980da48ec057f7bf00b75a376f28cf47ff1d03210dbe1bdf2a19b611e5b647c40e10786c7d6 -DIST libplatform-161.50.1.tar.gz 87361 BLAKE2B 569ee093b15a063386dde8c0c7731bc9d1ae7a1377555d83f8c245663d8f79ddcf4287d7cad6c76e519cbc809b4ae0d1698b47f244fe58182eb92b5e1aefa1ce SHA512 d8f47b3eaeaa0600c9df0e11001082f1f211d23ce21c0fa0d7aa86270f4dcb7e7e4691124e9c7618984970c69a4c14c0a3df23a97390dd899130da90ab13a28a -DIST libplatform-177.200.16.tar.gz 91526 BLAKE2B 699acdef02b7f47995a4c56ecdc28e581e6340eccc851d4a29b4156958e5fb90b4d5f5efc297a988f9de38e7d782cbd5c018509955559161d174ceb25f36a91e SHA512 563f103a8c6ba8cdc36972c0fa412fe82ad8ed347b48472ed3705a39fa17ce19b481e515d999e7493f4d5738551751d247afb16b9fda99357818e795305acf27 -DIST libpthread-218.60.3.tar.gz 186967 BLAKE2B 991569f288813ddebf060c36b7542bd2dab4524f3306b2674f82a7cd452294cc5a2eaab70acc9f13653b36b11439b890134de4f3aadeb38a60a5d10f6932b952 SHA512 3322e4439c72924cd9dda5739c5579e693488636d4ad1f4ba3e94a3f05cfeb0333450a48b317fb2e66e114dacb9acd76c8958c822e7038a4899372263b8ab679 -DIST libpthread-301.50.1.tar.gz 208501 BLAKE2B d9056fc4132e453ed21b054761a3b78f4675258b445fe00949a7aec34465c336d672ffd7a41bbe1f91f071ced1ef2acfbbe1fd6fa79f4bcf7ac089a78b84d010 SHA512 c4f9a4d1e4dcab72a976d5e6272c2d9a9b8e4335312563931d726369dd5cda71e185eeca28cd50e83ed82b8b302af5b7ae40d3b8e147fc426ef1ce17e3f068d8 -DIST libpthread-330.230.1.tar.gz 197145 BLAKE2B 2366a9961862ac5467e48abf1e8a6ab4f240ebb09a8c58a390b49b259aa8ee012017de3a1ab0df6f779f1fc601fe841704c68406ed457f14456041a67038b29a SHA512 6ef2cd2775668ca74f365201b3477e26e6459a2597694d7c12ff203970004abf12deaea7a00b5301ab02344fb390e402e99155bf4e28f28db23928cac9f3bf6e -DIST libunwind-35.3.tar.gz 90002 BLAKE2B d63ab0ae6e66a6f35ec17de9713d3bf4853cd80af218e868762b20dd8a44d42cd9ff8fce1d8c46fca4759144726bbf248a02a5dede5a94a2b75d3b45ddb7d018 SHA512 b7d9a86ef24f1fe9ca14517471e03a910219a229af9f0d4cf94435115971360640451107ba20c93fb1aab788f8b6eb5ed580ee08fdaa990b9fa43e9ae360c6b4 -DIST libunwind-35.4.tar.gz 1094999 BLAKE2B 5ddc3bb3dca0ceb5c979fd55657ad3ca0a4601be5594749d26a461ea61f75891b564ea9b4d60943baafe07f924d3750e857c0cd27154aceb130cada1cc83ff41 SHA512 7fcfaf071c6bfecd1b5dbdae6a24186c9741b2d877eaea9f64158278dc19f84b5bc46f09df2a4b81cf40f6dc91594b5411a0084e9e8fefcdbbfd8b53668f2631 -EBUILD darwin-libc-headers-1158.50.2-r4.ebuild 5176 BLAKE2B c0b3a15ebf53916c6ea2b99b0971e33667ed489c14b5be48774f4e84d6b61a5b7a8ee4a87ff4b1631f30d5db2a1360b1b8b0436902d4ce674cdac337d587dc07 SHA512 2c472e5d9c11913c52021a2dc2ad5185a371fd5cea7a2a40ce5c82248bf1c76c7074bf1de308197b400b5f5938ce7d51d78800a044dfbb9ac36b29ae622884a1 -EBUILD darwin-libc-headers-1244.50.9-r4.ebuild 5180 BLAKE2B c413e9d916a83c730b14a8e8db62ef3f8c1ffd37bddd1d56b364d7d0022752321dacc6cc48db8164aea4fc2b614fb8506f94fa7df9526bfadc6fa73ac5d1d9c6 SHA512 6b733d866b6fd89b354f00f555e635d1f91f8a6ef6ddd1e56a3a4e1c9fa037e88af0936cc0c03390fba42885a059fd50f0ea9d3fbee3fa6e3fb861315086d108 -EBUILD darwin-libc-headers-1272.250.1-r4.ebuild 5146 BLAKE2B 825ca5005551b44989fbcdef8249d942b30b91e634ef481a83a33b0b45c59d7e84fa27ebc572c60f17b9f26f3d97094966cdb292b3f33765f1e0f9cceefe5836 SHA512 26d3425807ba7e57579789b5e7475c3be50924d998cf94e0e8f80b75379e7bda31c52ea5b86b34c844f1a81b2865fd7838c2fe194842a25289abf6723870224b -MISC metadata.xml 418 BLAKE2B 19bab44e3e375b0dce49cd07231049e9ac6eecdeb66761c105fb48680b5ceba06f760dff1ba64274a05b62567a9575992e5bd65264fadeddfb33118040a953dc SHA512 acdf28167fe5c74ac934fa673bd9d73ddf3e8b25c355e9a60199d94faa8f3b32b629d0a5139dafaef0e157e19cd04b8897b9ea3d8943301b471b8eed3b7a3032 diff --git a/sys-libs/darwin-libc-headers/darwin-libc-headers-1158.50.2-r4.ebuild b/sys-libs/darwin-libc-headers/darwin-libc-headers-1158.50.2-r4.ebuild deleted file mode 100644 index 622f6d899e35..000000000000 --- a/sys-libs/darwin-libc-headers/darwin-libc-headers-1158.50.2-r4.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -IPV=503.50.4 -CPV=60092.50.5 -MPV=116.50.8 -PPV=218.60.3 -LPV=126.50.8 -UPV=35.3 -OPV=67 -DPV=433.5 -APV=703.50.37 -FPV=138 -OSX=10.12 -DESCRIPTION="Darwin system headers from Libc ${PV}, macOS ${OSX}.6" -HOMEPAGE="https://opensource.apple.com/source/Libc" -SRC_URI="https://opensource.apple.com/tarballs/Libc/Libc-${PV}.tar.gz - https://opensource.apple.com/tarballs/Libinfo/Libinfo-${IPV}.tar.gz - https://opensource.apple.com/tarballs/CommonCrypto/CommonCrypto-${CPV}.tar.gz - https://opensource.apple.com/tarballs/libmalloc/libmalloc-${MPV}.tar.gz - https://opensource.apple.com/tarballs/libpthread/libpthread-${PPV}.tar.gz - https://opensource.apple.com/tarballs/libplatform/libplatform-${LPV}.tar.gz - https://opensource.apple.com/tarballs/libunwind/libunwind-${UPV}.tar.gz - https://opensource.apple.com/tarballs/libclosure/libclosure-${OPV}.tar.gz - https://opensource.apple.com/tarballs/libdispatch/libdispatch-${APV}.tar.gz - https://opensource.apple.com/tarballs/copyfile/copyfile-${FPV}.tar.gz - https://opensource.apple.com/tarballs/dyld/dyld-${DPV}.tar.gz - https://dev.gentoo.org/~grobian/distfiles/${PN}-${OSX}-r2.tar.gz" - -LICENSE="APSL-2" -SLOT="${OSX}" -KEYWORDS="~x64-macos" -IUSE="+man" - -BDEPEND="sys-apps/darwin-miscutils" - -S=${WORKDIR}/Libc-${PV} - -src_prepare() { - default - - # convert BSD find to GNU find syntax - sed -i \ - -e 's/find -E ${SRCROOT}/find ${SRCROOT} -regextype posix-extended/' \ - xcodescripts/manpages.sh || die - chmod 755 xcodescripts/manpages.sh || die - - # drop ownership stuff and use soft-links - sed -i \ - -e 's/-o "$INSTALL_OWNER" -g "$INSTALL_GROUP"//' \ - -e 's/ln -hf/ln -sf/' \ - "${WORKDIR}"/Libinfo-${IPV}/xcodescripts/install_files.sh \ - "${WORKDIR}"/copyfile-${FPV}/xcodescripts/install_files.sh || die - - # add libmalloc manpage stuff to Libc to automate the installation - cp "${WORKDIR}"/libmalloc-${MPV}/man/*.3 man/ || die - cat "${WORKDIR}"/libmalloc-${MPV}/man/manpages.lst \ - >> man/manpages.lst || die - - # produce softlinks when installing libpthread manpages, don't do - # ownership or /usr/local stuff - sed -i \ - -e 's/ln -fh/ln -fs/' \ - -e '/chmod/d' -e '/chown/d' \ - -e '/\/usr\/local\/share/d' \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die -} - -src_compile() { - : ; # nothing to do -} - -src_install() { - run_xcode_ish() { - env ARCHS="x86_64 i386" \ - PLATFORM_NAME=macosx \ - VARIANT_PLATFORM_NAME=macosx \ - DERIVED_FILES_DIR="${T}" \ - SRCROOT="${S}" \ - DSTROOT="${ED}" \ - PUBLIC_HEADERS_FOLDER_PATH="/usr/include" \ - PRIVATE_HEADERS_FOLDER_PATH="remove-me" \ - "${BASH}" "$@" - } - - run_xcode_ish ./xcodescripts/headers.sh || die - if use man ; then - run_xcode_ish ./xcodescripts/manpages.sh || die - for f in "${ED}"/usr/share/man/man*/* ; do - [[ -e ${f} ]] || rm "${f}" - done - fi - - pushd "${WORKDIR}"/Libinfo-${IPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - - if use man ; then - pushd "${WORKDIR}"/copyfile-${FPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - fi - - insinto /usr/include - doins -r "${WORKDIR}"/libmalloc-${MPV}/include/malloc - doins -r "${WORKDIR}"/libpthread-${PPV}/pthread - doins -r "${WORKDIR}"/libplatform-${LPV}/include/* - doins -r "${WORKDIR}"/libunwind-${UPV}/include/* - doins -r "${WORKDIR}"/${PN}-${OSX}/include/* - doins "${WORKDIR}"/libclosure-${OPV}/Block.h - doins "${WORKDIR}"/dyld-${DPV}/include/dlfcn.h - doins "${WORKDIR}"/copyfile-${FPV}/copyfile.h \ - "${WORKDIR}"/copyfile-${FPV}/xattr_flags.h - - insinto /usr/include/sys - doins "${WORKDIR}"/libpthread-${PPV}/sys/qos.h - doins -r "${WORKDIR}"/libpthread-${PPV}/sys/_pthread - - insinto /usr/include/mach-o - doins "${WORKDIR}"/dyld-${DPV}/include/mach-o/dyld{,_images}.h - - insinto /usr/include/CommonCrypto - doins "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCrypto.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptoError.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptor.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonDigest.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonHMAC.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonKeyDerivation.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonRandom.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonSymmetricKeywrap.h - - insinto /usr/include/dispatch - doins "${WORKDIR}"/libdispatch-${APV}/dispatch/*.h \ - "${WORKDIR}"/libdispatch-${APV}/dispatch/darwin/module.modulemap - insinto /usr/include/os - doins "${WORKDIR}"/libdispatch-${APV}/os/object.h - - insinto /Frameworks - doins -r "${WORKDIR}"/${PN}-${OSX}/Frameworks/*.framework - - run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-symlinks.sh || die - - S="${WORKDIR}"/libpthread-${PPV} run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die - - ln -s ../nameser.h "${ED}"/usr/include/arpa/nameser.h || die - - rm -Rf "${ED}"/remove-me "${ED}"/System "${ED}"/usr/local || die - use man || rm -Rf "${ED}/usr/share/man" - - # drop conflicting header (db is antiquated) - rm "${ED}"/usr/include/db.h || die -} diff --git a/sys-libs/darwin-libc-headers/darwin-libc-headers-1244.50.9-r4.ebuild b/sys-libs/darwin-libc-headers/darwin-libc-headers-1244.50.9-r4.ebuild deleted file mode 100644 index a7a635ddd3b4..000000000000 --- a/sys-libs/darwin-libc-headers/darwin-libc-headers-1244.50.9-r4.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -IPV=517.30.1 -CPV=60118.50.1 -MPV=140.50.6 -PPV=301.50.1 -LPV=161.50.1 -UPV=35.3 -OPV=67 -DPV=551.4 -APV=913.60.2 -FPV=146.50.5 -OSX=10.13 -DESCRIPTION="Darwin system headers from Libc ${PV}, macOS ${OSX}.6" -HOMEPAGE="https://opensource.apple.com/source/Libc" -SRC_URI="https://opensource.apple.com/tarballs/Libc/Libc-${PV}.tar.gz - https://opensource.apple.com/tarballs/Libinfo/Libinfo-${IPV}.tar.gz - https://opensource.apple.com/tarballs/CommonCrypto/CommonCrypto-${CPV}.tar.gz - https://opensource.apple.com/tarballs/libmalloc/libmalloc-${MPV}.tar.gz - https://opensource.apple.com/tarballs/libpthread/libpthread-${PPV}.tar.gz - https://opensource.apple.com/tarballs/libplatform/libplatform-${LPV}.tar.gz - https://opensource.apple.com/tarballs/libunwind/libunwind-${UPV}.tar.gz - https://opensource.apple.com/tarballs/libclosure/libclosure-${OPV}.tar.gz - https://opensource.apple.com/tarballs/libdispatch/libdispatch-${APV}.tar.gz - https://opensource.apple.com/tarballs/copyfile/copyfile-${FPV}.tar.gz - https://opensource.apple.com/tarballs/dyld/dyld-${DPV}.tar.gz - https://dev.gentoo.org/~grobian/distfiles/${PN}-${OSX}-r2.tar.gz" - -LICENSE="APSL-2" -SLOT="${OSX}" -KEYWORDS="~x64-macos" -IUSE="+man" - -BDEPEND="sys-apps/darwin-miscutils" - -S=${WORKDIR}/Libc-${PV} - -src_prepare() { - default - - # convert BSD find to GNU find syntax - sed -i \ - -e 's/find -E ${SRCROOT}/find ${SRCROOT} -regextype posix-extended/' \ - xcodescripts/manpages.sh || die - chmod 755 xcodescripts/manpages.sh || die - - # drop ownership stuff and use soft-links - sed -i \ - -e 's/-o "$INSTALL_OWNER" -g "$INSTALL_GROUP"//' \ - -e 's/ln -hf/ln -sf/' \ - "${WORKDIR}"/Libinfo-${IPV}/xcodescripts/install_files.sh \ - "${WORKDIR}"/copyfile-${FPV}/xcodescripts/install_files.sh || die - - # add libmalloc manpage stuff to Libc to automate the installation - cp "${WORKDIR}"/libmalloc-${MPV}/man/*.3 man/ || die - cat "${WORKDIR}"/libmalloc-${MPV}/man/manpages.lst \ - >> man/manpages.lst || die - - # produce softlinks when installing libpthread manpages, don't do - # ownership or /usr/local stuff - sed -i \ - -e 's/ln -fh/ln -fs/' \ - -e '/chmod/d' -e '/chown/d' \ - -e '/\/usr\/local\/share/d' \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die -} - -src_compile() { - : ; # nothing to do -} - -src_install() { - run_xcode_ish() { - env ARCHS="x86_64 i386" \ - PLATFORM_NAME=macosx \ - VARIANT_PLATFORM_NAME=macosx \ - DERIVED_FILES_DIR="${T}" \ - SRCROOT="${S}" \ - DSTROOT="${ED}" \ - PUBLIC_HEADERS_FOLDER_PATH="/usr/include" \ - PRIVATE_HEADERS_FOLDER_PATH="remove-me" \ - "${BASH}" "$@" - } - - run_xcode_ish ./xcodescripts/headers.sh || die - if use man ; then - run_xcode_ish ./xcodescripts/manpages.sh || die - for f in "${ED}"/usr/share/man/man*/* ; do - [[ -e ${f} ]] || rm "${f}" - done - fi - - pushd "${WORKDIR}"/Libinfo-${IPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - - if use man ; then - pushd "${WORKDIR}"/copyfile-${FPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - fi - - insinto /usr/include - doins -r "${WORKDIR}"/libmalloc-${MPV}/include/malloc - doins -r "${WORKDIR}"/libpthread-${PPV}/pthread - doins -r "${WORKDIR}"/libplatform-${LPV}/include/* - doins -r "${WORKDIR}"/libunwind-${UPV}/include/* - doins -r "${WORKDIR}"/${PN}-${OSX}/include/* - doins "${WORKDIR}"/libclosure-${OPV}/Block.h - doins "${WORKDIR}"/dyld-${DPV}/include/dlfcn.h - doins "${WORKDIR}"/copyfile-${FPV}/copyfile.h \ - "${WORKDIR}"/copyfile-${FPV}/xattr_flags.h - - insinto /usr/include/sys - doins "${WORKDIR}"/libpthread-${PPV}/sys/qos.h - doins -r "${WORKDIR}"/libpthread-${PPV}/sys/_pthread - - insinto /usr/include/mach-o - doins "${WORKDIR}"/dyld-${DPV}/include/mach-o/dyld{,_images}.h - - insinto /usr/include/CommonCrypto - doins "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCrypto.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptoError.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptor.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonDigest.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonHMAC.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonKeyDerivation.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonRandom.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonSymmetricKeywrap.h - - insinto /usr/include/dispatch - doins "${WORKDIR}"/libdispatch-${APV}/dispatch/*.h \ - "${WORKDIR}"/libdispatch-${APV}/dispatch/darwin/module.modulemap - insinto /usr/include/os - doins "${WORKDIR}"/libdispatch-${APV}/os/object.h - - insinto /Frameworks - doins -r "${WORKDIR}"/${PN}-${OSX}/Frameworks/*.framework - - run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-symlinks.sh || die - - S="${WORKDIR}"/libpthread-${PPV} run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die - - ln -s ../nameser.h "${ED}"/usr/include/arpa/nameser.h || die - - rm -Rf "${ED}"/remove-me "${ED}"/System "${ED}"/usr/local || die - use man || rm -Rf "${ED}/usr/share/man" - - # drop conflicting header (db is antiquated) - rm "${ED}"/usr/include/db.h || die -} diff --git a/sys-libs/darwin-libc-headers/darwin-libc-headers-1272.250.1-r4.ebuild b/sys-libs/darwin-libc-headers/darwin-libc-headers-1272.250.1-r4.ebuild deleted file mode 100644 index 8de0fcb25482..000000000000 --- a/sys-libs/darwin-libc-headers/darwin-libc-headers-1272.250.1-r4.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -IPV=517.200.9 -CPV=60118.220.1 -MPV=166.220.1 -PPV=330.230.1 -LPV=177.200.16 -UPV=35.4 -OPV=73 -DPV=655.1 -APV=1008.220.2 -FPV=146.200.3 -OSX=10.14 -DESCRIPTION="Darwin system headers from Libc ${PV}, macOS ${OSX}.3" -HOMEPAGE="https://opensource.apple.com/source/Libc" -SRC_URI="https://opensource.apple.com/tarballs/Libc/Libc-${PV}.tar.gz - https://opensource.apple.com/tarballs/Libinfo/Libinfo-${IPV}.tar.gz - https://opensource.apple.com/tarballs/CommonCrypto/CommonCrypto-${CPV}.tar.gz - https://opensource.apple.com/tarballs/libmalloc/libmalloc-${MPV}.tar.gz - https://opensource.apple.com/tarballs/libpthread/libpthread-${PPV}.tar.gz - https://opensource.apple.com/tarballs/libplatform/libplatform-${LPV}.tar.gz - https://opensource.apple.com/tarballs/libunwind/libunwind-${UPV}.tar.gz - https://opensource.apple.com/tarballs/libclosure/libclosure-${OPV}.tar.gz - https://opensource.apple.com/tarballs/libdispatch/libdispatch-${APV}.tar.gz - https://opensource.apple.com/tarballs/copyfile/copyfile-${FPV}.tar.gz - https://opensource.apple.com/tarballs/dyld/dyld-${DPV}.tar.gz - https://dev.gentoo.org/~grobian/distfiles/${PN}-${OSX}-r2.tar.gz" - -LICENSE="APSL-2" -SLOT="${OSX}" -KEYWORDS="~x64-macos" -IUSE="+man" - -BDEPEND="sys-apps/darwin-miscutils" - -S=${WORKDIR}/Libc-${PV} - -src_prepare() { - default - - # convert BSD find to GNU find syntax - sed -i \ - -e 's/find -E ${SRCROOT}/find ${SRCROOT} -regextype posix-extended/' \ - xcodescripts/manpages.sh || die - - # drop ownership stuff and use soft-links - sed -i \ - -e 's/-o "$INSTALL_OWNER" -g "$INSTALL_GROUP"//' \ - -e 's/ln -hf/ln -sf/' \ - "${WORKDIR}"/Libinfo-${IPV}/xcodescripts/install_files.sh \ - "${WORKDIR}"/copyfile-${FPV}/xcodescripts/install_files.sh || die - - # add libmalloc manpage stuff to Libc to automate the installation - cp "${WORKDIR}"/libmalloc-${MPV}/man/*.3 man/ || die - cat "${WORKDIR}"/libmalloc-${MPV}/man/manpages.lst \ - >> man/manpages.lst || die - - # produce softlinks when installing libpthread manpages, don't do - # ownership or /usr/local stuff - sed -i \ - -e 's/ln -fh/ln -fs/' \ - -e '/chmod/d' -e '/chown/d' \ - -e '/\/usr\/local\/share/d' \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die -} - -src_compile() { - : ; # nothing to do -} - -src_install() { - run_xcode_ish() { - env ARCHS="x86_64 i386" \ - PLATFORM_NAME=macosx \ - VARIANT_PLATFORM_NAME=macosx \ - DERIVED_FILES_DIR="${T}" \ - SRCROOT="${S}" \ - DSTROOT="${ED}" \ - PUBLIC_HEADERS_FOLDER_PATH="/usr/include" \ - PRIVATE_HEADERS_FOLDER_PATH="remove-me" \ - "${BASH}" "$@" - } - - run_xcode_ish ./xcodescripts/headers.sh || die - if use man ; then - run_xcode_ish ./xcodescripts/manpages.sh || die - for f in "${ED}"/usr/share/man/man*/* ; do - [[ -e ${f} ]] || rm "${f}" - done - fi - - pushd "${WORKDIR}"/Libinfo-${IPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - - if use man ; then - pushd "${WORKDIR}"/copyfile-${FPV} > /dev/null || die - run_xcode_ish ./xcodescripts/install_files.sh || die - popd > /dev/null || die - fi - - insinto /usr/include - doins -r "${WORKDIR}"/libmalloc-${MPV}/include/malloc - doins -r "${WORKDIR}"/libpthread-${PPV}/pthread - doins -r "${WORKDIR}"/libplatform-${LPV}/include/* - doins -r "${WORKDIR}"/libunwind-${UPV}/include/* - doins -r "${WORKDIR}"/${PN}-${OSX}/include/* - doins "${WORKDIR}"/libclosure-${OPV}/Block.h - doins "${WORKDIR}"/dyld-${DPV}/include/dlfcn.h - doins "${WORKDIR}"/copyfile-${FPV}/copyfile.h \ - "${WORKDIR}"/copyfile-${FPV}/xattr_flags.h - - insinto /usr/include/sys - doins "${WORKDIR}"/libpthread-${PPV}/sys/qos.h - doins -r "${WORKDIR}"/libpthread-${PPV}/sys/_pthread - - insinto /usr/include/mach-o - doins "${WORKDIR}"/dyld-${DPV}/include/mach-o/dyld{,_images}.h - - insinto /usr/include/CommonCrypto - doins "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCrypto.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptoError.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonCryptor.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonDigest.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonHMAC.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonKeyDerivation.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonRandom.h \ - "${WORKDIR}"/CommonCrypto-${CPV}/include/CommonSymmetricKeywrap.h - - insinto /usr/include/dispatch - doins "${WORKDIR}"/libdispatch-${APV}/dispatch/*.h \ - "${WORKDIR}"/libdispatch-${APV}/dispatch/darwin/module.modulemap - insinto /usr/include/os - doins "${WORKDIR}"/libdispatch-${APV}/os/object.h - - insinto /Frameworks - doins -r "${WORKDIR}"/${PN}-${OSX}/Frameworks/*.framework - - run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-symlinks.sh || die - - S="${WORKDIR}"/libpthread-${PPV} run_xcode_ish \ - "${WORKDIR}"/libpthread-${PPV}/xcodescripts/install-manpages.sh || die - - ln -s ../nameser.h "${ED}"/usr/include/arpa/nameser.h || die - - rm -Rf "${ED}"/remove-me "${ED}"/System "${ED}"/usr/local || die - use man || rm -Rf "${ED}/usr/share/man" - - # drop conflicting header (db is antiquated) - rm "${ED}"/usr/include/db.h || die -} diff --git a/sys-libs/darwin-libc-headers/metadata.xml b/sys-libs/darwin-libc-headers/metadata.xml deleted file mode 100644 index ec8d2a6ebeb4..000000000000 --- a/sys-libs/darwin-libc-headers/metadata.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>grobian@gentoo.org</email> - <name>Fabian Groffen</name> - </maintainer> - <maintainer type="project"> - <email>prefix@gentoo.org</email> - <name>Gentoo Prefix</name> - </maintainer> - <use> - <flag name="man">Install the manpages</flag> - </use> -</pkgmetadata> diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest index 9e6bd1ec6da0..492f19cb5d59 100644 --- a/sys-libs/gdbm/Manifest +++ b/sys-libs/gdbm/Manifest @@ -1,5 +1,7 @@ AUX gdbm-1.18.1-gcc-10.patch 1243 BLAKE2B d956231e7df353c203e37054438aa9c50f875e83afbefad5de5d150ee272131a2f4825f330b25a2eaf8aa0e2977645e827934778f77f9752aaa887fe99917b86 SHA512 23dd6edcad930bfffd8248015862674fa12402693a24dea65ba61819d81c9e4eb594223c85483cb6ca5b908967f3509ace2753702118db3e79e7d137b63c00b2 AUX gdbm-1.18.1-gettext.patch 444 BLAKE2B 43496bf0e950e1af452439f881bca4fe5e318717c27692639196884405b0b6ed8e32e056afeda2040f651d26ff1607e69e7f482d023c2b98b7c080b67f3392b2 SHA512 fd033d7de3a1bc53c10115fd27d7001ce1b376126c11f934adf8a25c9df195754835fd707f40c540539553c091fa196115e02bb56cc41702a12a1d4fb1724a52 DIST gdbm-1.18.1.tar.gz 941863 BLAKE2B b7717224e966321d7499a90214bfb62d0402e867db475ed4eddacfe3944d8d9cca1052e41d625f447936bfb3cbd7f1b79cfe6ff435a018efed3d5a7c5eae52d7 SHA512 adf9d6c5bc843ff0d7f88c2a1667d509973b2d63378d0001d7e74cc10aee6ea498a4513cc88ddf78c32ba4db5cb040b2794f4f1b3338c65d9894058850e2f5ef +DIST gdbm-1.19.tar.gz 967861 BLAKE2B 92a1a9c461c763b01d7abced58800aa8db200ae746240c8ef8079a615d920efe95f0d805a8cfa63d8aa6bcbda637bcb07d98d630f58de5678b7633c3fcf6bf9b SHA512 118c5b8cdf74898bfb7c2100302fedf80096be017bf08e80a44486563cad5d93b93567622f2e7c7aceb72f30460504bd0b4ddfccf34df994ed65166e12ecd495 EBUILD gdbm-1.18.1-r1.ebuild 1400 BLAKE2B a53f0bf252d2cde959c7024b2d04f9f068e1f5f8893681413a12c34474f841632f41d1a3c312874b7575bb7d6a502efa8f8b9954ad78ff51c546efd43b5dd2f3 SHA512 089c88f982a07cc549644a0e09158a6f5ee43f866000bcb899c2ed598adf119b3afca9485a3378cefa2dfb7ac5cff28ccbab6406bc055856abd76f4572c2b9fd +EBUILD gdbm-1.19.ebuild 1368 BLAKE2B 0691e33553bd7d03724eb659e9d864fc22cfd2c5a8acaa5d6162dfc92b98bbe4a6e06d2a563ffb00517bc2ee5f52867b248be26790acc416785f2919413be1eb SHA512 bf20a4ae4f682518cfaef9c30d516d40b2e7622b976a25a08ea12d29069b677133a730af4e4a7bfe0f1dd173768957b2e65c45091735b729543819adc5c5be4c MISC metadata.xml 359 BLAKE2B f58b008f8cd663d499052f6d3ea0f658b3816d28c044a4fb8a341a8ce7382104962f58b5ba881bb1dcfc8835cbfc22782471eb48088c547706caa63c35e21e97 SHA512 12da6a0492c269ebff68bf1b1d5ea44b9e011a9197c353157da04283fe865ffff01d6f6c28ecc73b5985ec39959c1c7911b2aa5c3e905929f41521b7cae0b169 diff --git a/sys-libs/gdbm/gdbm-1.19.ebuild b/sys-libs/gdbm/gdbm-1.19.ebuild new file mode 100644 index 000000000000..6c43e5c486a3 --- /dev/null +++ b/sys-libs/gdbm/gdbm-1.19.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic multilib multilib-minimal + +DESCRIPTION="Standard GNU database libraries" +HOMEPAGE="https://www.gnu.org/software/gdbm/" +SRC_URI="mirror://gnu/gdbm/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0/6" # libgdbm.so version +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+berkdb nls +readline static-libs" + +DEPEND=" + readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.18.1-gettext.patch #696838 +) + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # gdbm doesn't appear to use either of these libraries + export ac_cv_lib_dbm_main=no ac_cv_lib_ndbm_main=no + + local myeconfargs=( + --includedir="${EPREFIX}"/usr/include/gdbm + $(use_enable berkdb libgdbm-compat) + $(use_enable nls) + $(use_enable static-libs static) + $(use_with readline) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -name '*.la' -delete || die + fi + mv "${ED}"/usr/include/gdbm/gdbm.h "${ED}"/usr/include/ || die +} diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 88934733bfd9..dceb2211b2b2 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -23,6 +23,7 @@ DIST glibc-2.31-patches-9.tar.xz 74712 BLAKE2B 62991b67de4def4cca944e8420d2f0139 DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d4c2388f44b0d5b1ae38174ea374cbc909cd260770b9f38ea58051da13766d4fa22abf41c2d4a2493257b179b SHA512 735e4c0ef10418b6ea945ad3906585e5bbd8b282d76f2131309dce4cec6b15066a5e4a3731773ce428a819b542579c9957867bb0abf05ed2030983fca4412306 DIST glibc-2.32-patches-2.tar.xz 8588 BLAKE2B 57a85241e3270d14df0332b039a933c5a7ee4d089684d85cca564eeec2d6796735de60b628c5746858757342922d58993d6cf7187ce1d7102b2299ca2cf8513f SHA512 45bbab9e2f813f55cb4a1438dcd9365170b8facff50b11648ba6022da06c20029bb65a4b06fd906af82aa7461b7374f85105fd7eedb7915cec3f1df3779b68a3 DIST glibc-2.32-patches-4.tar.xz 49884 BLAKE2B e7f364123d9c7b6be5f769a5be0c71afe345972d123d44797cb427667faf6c2bb27bb979a6dc949ec7cc522ccccfdaed730c44dd48251375be24f9c96dbd2aca SHA512 41548299b083e60dc3df4bad7135eba09e1f4d83ab94cf1ff0240198261338c87a228f53179bf639d04190710e2913679fa2c682fd5d3e31a1250f91e31b1683 +DIST glibc-2.32-patches-5.tar.xz 53116 BLAKE2B b2bd9d2cc7fb8f7d3cd96d8439842c30aeed4703e69f959a470967d82dc37ce141f747387c793a3ee6663ed8889af1bcca87fd9ca66c51f1099bba36fe6759d5 SHA512 b3b2baf7b25e28cd4884c4d61f1337b3e49c39dc3f6d789e7cb0a1e180402028da9e8a69828940d2e9676a857d6248da1173d45e8465adca4e148bc2bd76cb62 DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6e88a8453621f9a5394a60ddf10ca9309b2db0911830c7fd77e3faa5d94694eb94d5b2c05fc5285cef52255da SHA512 8460c155b7003e04f18dabece4ed9ad77445fa2288a7dc08e80a8fc4c418828af29e0649951bd71a54ea2ad2d4da7570aafd9bdfe4a37e9951b772b442afe50b DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff DIST locale-gen-2.10.tar.gz 7747 BLAKE2B 49f569c5ae5260fca128503bc6f22d6f6f1cda817920c41fdadadf1527bbb4f3eb161f79fa729830666a4673e9092f99f4685ec8fcac8ddea0b8242bca9c1f4f SHA512 e350e60d458d67638e3090711fca05af6fafac06c51b97648244549f8a0621dab7543f09dc7ad4c62392f13bdae8e5875dc6d0b6c3d83efc29d116bc2eef92db @@ -33,7 +34,8 @@ EBUILD glibc-2.30-r9.ebuild 43267 BLAKE2B 5705e5c2c6558d1eecb0b1df532512cda073e1 EBUILD glibc-2.31-r6.ebuild 44382 BLAKE2B 232d74149e6028963993873c373e1fc744e4b0a3eb33aed47cd045503d55c2a77836c5bf7a96a3496c9d2d863a691ae1268f62d3f029a5cdd417c9492f3b3392 SHA512 61d0bb3df2cba90d53956774d4b4d52fa63649c6d9e21cc08f903bc63dbb30d6e412c0e71824dde753553bd64dee711603cb094cdcf35bbd28f6b5e911ebf735 EBUILD glibc-2.31-r7.ebuild 44385 BLAKE2B 05f69a4d44b2c07a44a94e9d3ee2eb204dd2349387abc45b456abf2b5577810255a6cab1db4aa4e2c116dc785964442b3744b333863692500a41875dea9651d4 SHA512 0ed26e18b3219143d7d74086dc21efc7d52a5e6be80fb9a053dd339f25c9ef00f8b75bf2e0ae3ae1e732b724fabf2443df9b1bbefbb850510e97dcfb0359e797 EBUILD glibc-2.32-r2.ebuild 44988 BLAKE2B d1c13c6044d3423344be28f0acf6d8da56b431e31740bc4b4ae8678a83e4c8bfc52b37eb9c781677a28422e55a0b49c0d8e0af1278c7573df118e1fb154dfd89 SHA512 1e6cc8d84d645e32d6c5ebe0ef03a6e89f93d2f65b0632797095f5840067af5eaebc1da59b98a639c76bb1a2a09d99acad425a397fefd1289815e8de39dc7ec6 -EBUILD glibc-2.32-r3.ebuild 44720 BLAKE2B 3f1c337560ac284511ea6f490ed0d77b2a605395a0919f443124fe24b4e036385b04217a35af3d5043d855e457356a730f86fa84cc36348883a291e36f119acc SHA512 495ddd82b316a8942d331706d0f05b0b13556de09c0abfb028518578b2ce93fda775762cf79991a50dc12d7ee21d838ead419036814976c27f832d37ed71a70b +EBUILD glibc-2.32-r3.ebuild 44717 BLAKE2B 5a42e32847189619531b512f0b1271672f32914f1f23fc31814b5b3d0d70fc3befaaf2cddef29032bf4b42d0c467b8f833a97cb1de4b00233562cf0be52a7c48 SHA512 b550e858435155eff529d6bab58367aa529950bc77527a30cd4cdea244ebf6c29f977eabbff36c05b1748ae2b94ef572f445811138c29bb9c7a442652f466680 EBUILD glibc-2.32-r5.ebuild 44722 BLAKE2B 59c445ae3396499b0889128982055a2b3084ce963fe56599d79b662161c2214726b0acd78a1f46e4becd13bfe36989e08a62b358cd45fee4886aabe8b2becc17 SHA512 b193ff06666233d319be9e1868a6aed7cc16c1e6e8b65d7008e76bf70d70bcd284ba52833201f5669cc65e092f6cd83d38c1bfa1aa831e38facc6e4fc4945080 +EBUILD glibc-2.32-r6.ebuild 44722 BLAKE2B 7112bee1e2ffc56c4415da3d2edaf22a63ca642015c4f73a8b03788cff177bab1eecf73e5cb01837125b6c5d50ce5838723f5ebfc4f0facf059613bf1db2b42b SHA512 1ca2e4bc72751ec4753a1ef7bf0b75e9444b31109b424be4a52d60e0c55fac985e9f04d6355aede516c43357da8d73b09dafc92baa51a8b99c76a4df19245f05 EBUILD glibc-9999.ebuild 44212 BLAKE2B 206ee7699d37e925c1f04af78b539ab0bbd56c19cd9b4546e077be7c656fe1df735c3437926fc481edad79e54a80911f353e62ab25418d330c4cf25d584f91d0 SHA512 1a88e2c6acf7c9567270710d37c615358e0f5ba9a08b0506e650c084f7ec1f9ab3835e159dd648ce7f7fee464033ca342e67ded2beacbc1fcfdd9893776bafc3 MISC metadata.xml 1611 BLAKE2B 3bd777c160ea20cdbd86cca791d9fd4ff02f8d100344235ec74fff37d5cae1e7119e0ec26969707e75a983dcdb23e994559c8be128ef40fa0ec9ed655017466d SHA512 08be6d085ac47b140fff17a3be8cee77e066a4536cdce76fa44c77875dec2a9dc236ff67ff44301abf75cb196d1902feb2a139dda420220248b46dd9cdb16b9f diff --git a/sys-libs/glibc/glibc-2.32-r3.ebuild b/sys-libs/glibc/glibc-2.32-r3.ebuild index a2c36abaeefc..4824a1d657a2 100644 --- a/sys-libs/glibc/glibc-2.32-r3.ebuild +++ b/sys-libs/glibc/glibc-2.32-r3.ebuild @@ -22,7 +22,7 @@ PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 ~sparc x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" SRC_URI+=" riscv? ( https://dev.gentoo.org/~dilfridge/distfiles/backport-rv32.txz )" diff --git a/sys-libs/glibc/glibc-2.32-r6.ebuild b/sys-libs/glibc/glibc-2.32-r6.ebuild new file mode 100644 index 000000000000..415b9cf9d29f --- /dev/null +++ b/sys-libs/glibc/glibc-2.32-r6.ebuild @@ -0,0 +1,1513 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) + +inherit python-any-r1 prefix eutils toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +SLOT="2.2" + +EMULTILIB_PKG="true" + +# Gentoo patchset (ignored for live ebuilds) +PATCH_VER=5 +PATCH_DEV=slyfox + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" + SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" + SRC_URI+=" riscv? ( https://dev.gentoo.org/~dilfridge/distfiles/backport-rv32.txz )" +fi + +RELEASE_VER=${PV} + +GCC_BOOTSTRAP_VER=20201208 + +LOCALE_GEN_VER=2.10 + +SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz" +SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" + +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla" + +# Minimum kernel version that glibc requires +MIN_KERN_VER="3.2.0" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# Note [Disable automatic stripping] +# Disabling automatic stripping for a few reasons: +# - portage's attempt to strip breaks non-native binaries at least on +# arm: bug #697428 +# - portage's attempt to strip libpthread.so.0 breaks gdb thread +# enumeration: bug #697910. This is quite subtle: +# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. +# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols +# via 'ps_pglobal_lookup' symbol defined in gdb. +# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all +# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' +# (unexported) is used to sanity check compatibility before enabling +# debugging. +# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint +# * normal 'strip' command trims '.symtab' +# Thus our main goal here is to prevent 'libpthread.so.0' from +# losing it's '.symtab' entries. +# As Gentoo's strip does not allow us to pass less aggressive stripping +# options and does not check the machine target we strip selectively. + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +# Lastly, let's avoid some openssh nastiness, bug 708224, as +# convenience to our users. + +# gzip, grep, awk are needed by locale-gen, bug 740750 + +BDEPEND=" + ${PYTHON_DEPS} + >=app-misc/pax-utils-0.1.10 + sys-devel/bison + doc? ( sys-apps/texinfo ) + !compile-locales? ( + app-arch/gzip + sys-apps/grep + virtual/awk + ) +" +COMMON_DEPEND=" + gd? ( media-libs/gd:2= ) + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-util/systemtap ) + !<net-misc/openssh-8.1_p1-r2 +" +DEPEND="${COMMON_DEPEND} + compile-locales? ( + app-arch/gzip + sys-apps/grep + virtual/awk + ) + test? ( >=net-dns/libidn2-2.3.0 ) +" +RDEPEND="${COMMON_DEPEND} + app-arch/gzip + sys-apps/grep + virtual/awk + sys-apps/gentoo-functions +" + +RESTRICT="!test? ( test )" + +if [[ ${CATEGORY} == cross-* ]] ; then + BDEPEND+=" !headers-only? ( + >=${CATEGORY}/binutils-2.24 + >=${CATEGORY}/gcc-6 + )" + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" +else + BDEPEND+=" + >=sys-devel/binutils-2.24 + >=sys-devel/gcc-6 + " + DEPEND+=" virtual/os-headers " + RDEPEND+=" + >=net-dns/libidn2-2.3.0 + vanilla? ( !sys-libs/timezone-data ) + " + PDEPEND+=" !vanilla? ( sys-libs/timezone-data )" +fi + +# Ignore tests whitelisted below +GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" + +# The following tests fail due to the Gentoo build system and are thus +# executed but ignored: +XFAIL_TEST_LIST=( + # 9) Failures of unknown origin + tst-latepthread + + # buggy test, assumes /dev/ and /dev/null on a single filesystem + # 'mount --bind /dev/null /chroot/dev/null' breaks it. + # https://sourceware.org/PR25909 + tst-support_descriptors + + # Flaky test, known to fail occasionally: + # https://sourceware.org/PR19329 + # https://bugs.gentoo.org/719674#c12 + tst-stack4 +) + +# +# Small helper functions +# + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + is_crosscompile && use headers-only +} + +alt_prefix() { + is_crosscompile && echo /usr/${CTARGET} +} + +# This prefix is applicable to CHOST when building against this +# glibc. It is baked into the library at configure time. +host_eprefix() { + is_crosscompile || echo "${EPREFIX}" +} + +# This prefix is applicable to CBUILD when building against this +# glibc. It determines the destination path at install time. +build_eprefix() { + is_crosscompile && echo "${EPREFIX}" +} + +# We need to be able to set alternative headers for compiling for non-native +# platform. Will also become useful for testing kernel-headers without screwing +# up the whole system. +alt_headers() { + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} +} + +alt_build_headers() { + if [[ -z ${ALT_BUILD_HEADERS} ]] ; then + ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)" + if tc-is-cross-compiler ; then + ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then + local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') + ALT_BUILD_HEADERS=${header_path%/linux/version.h} + fi + fi + fi + echo "${ALT_BUILD_HEADERS}" +} + +alt_libdir() { + echo $(alt_prefix)/$(get_libdir) +} +alt_usrlibdir() { + echo $(alt_prefix)/usr/$(get_libdir) +} + +builddir() { + echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" +} + +do_compile_test() { + local ret save_cflags=${CFLAGS} + CFLAGS+=" $1" + shift + + pushd "${T}" >/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + # Most of the time CC is already set, but not in early sanity checks. + nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}" + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + do_compile_test "" "$@" 2>/dev/null || return 0 + else + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + return 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + ;; + amd64) + # -march needed for #185404 #199334 + # TODO: See cross-compile issues listed above for x86. + [[ ${ABI} == x86 ]] && + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + ppc|ppc64) + # Many arch-specific implementations do not work on ppc with + # cache-block not equal to 128 bytes. This breaks memset: + # https://sourceware.org/PR26522 + # https://bugs.gentoo.org/737996 + # Use default -mcpu=. For ppc it means non-multiarch setup. + filter-flags '-mcpu=*' + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + local cpu + case ${CTARGET} in + sparc64-*) + cpu="sparc64" + case $(get-flag mcpu) in + v9) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + *) + cpu="sparcv9" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Allow users to explicitly avoid flag sanitization via + # USE=custom-cflags. + if ! use custom-cflags; then + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + # Lock glibc at -O2; we want to be conservative here. + filter-flags '-O?' + append-flags -O2 + fi + strip-unsupported-flags + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # #492892 + filter-flags -frecord-gcc-switches + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # glibc's headers disallow -O0 and fail at build time: + # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" + replace-flags -O0 -O1 + + filter-flags '-fstack-protector*' +} + +want_tls() { + # Archs that can use TLS (Thread Local Storage) + case $(tc-arch) in + x86) + # requires i486 or better #106556 + [[ ${CTARGET} == i[4567]86* ]] && return 0 + return 1 + ;; + esac + return 0 +} + +want__thread() { + want_tls || return 1 + + # For some reason --with-tls --with__thread is causing segfaults on sparc32. + [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 + + [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} + + # only test gcc -- can't test linking yet + tc-has-tls -c ${CTARGET} + WANT__THREAD=$? + + return ${WANT__THREAD} +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_<CTARGET> in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if just_headers ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + local VAR=CFLAGS_${ABI} + # We need to export CFLAGS with abi information in them because glibc's + # configure script checks CFLAGS for some targets (like mips). Keep + # around the original clean value to avoid appending multiple ABIs on + # top of each other. + : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} + export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" + echo "${b}" +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +eend_KV() { + [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] + eend $? +} + +get_kheader_version() { + printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ -z ${ROOT} ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." + fi + + if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall(<bignum>) will break. See bug 279260." + die "Old and broken kernel." + fi + fi + + # Users have had a chance to phase themselves, time to give em the boot + if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then + eerror "You still haven't deleted ${EROOT}/etc/locales.build." + eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." + die "Lazy upgrader detected" + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # Check for sanity of /etc/nsswitch.conf + if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then + local entry + for entry in passwd group shadow; do + if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." + eerror "Please make sure you have 'files' entries for" + eerror "'passwd:', 'group:' and 'shadow:' databases." + eerror "For more details see:" + eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" + die "nsswitch.conf has no 'files' provider in '${entry}'." + fi + done + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking that IA32 emulation is enabled in the running kernel" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." + fi + + fi + + # When we actually have to compile something... + if ! just_headers ; then + ebegin "Checking gcc for __thread support" + if ! eend $(want__thread ; echo $?) ; then + echo + eerror "Could not find a gcc that supports the __thread directive!" + eerror "Please update your binutils/gcc and try again." + die "No __thread support in gcc!" + fi + + if [[ ${CTARGET} == *-linux* ]] ; then + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! eend_KV ${run_kv} ${want_kv} ; then + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low!" + fi + fi + + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! eend_KV ${build_kv} ${want_kv} ; then + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + # All the checks... + einfo "Checking general environment sanity." + sanity_prechecks +} + +pkg_setup() { + # see bug 682570 + [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup +} + +# src_unpack + +src_unpack() { + # Consistency is not guaranteed between pkg_ and src_ ... + sanity_prechecks + + use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + setup_env + + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patches || die + + EGIT_REPO_URI="https://sourceware.org/git/glibc.git" + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P}.tar.xz + + cd "${WORKDIR}" || die + unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz + fi + + cd "${WORKDIR}" || die + unpack locale-gen-${LOCALE_GEN_VER}.tar.gz + use riscv && unpack backport-rv32.txz +} + +src_prepare() { + local patchsetname + if ! use vanilla ; then + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${RELEASE_VER}-${PATCH_VER}" + fi + elog "Applying Gentoo Glibc Patchset ${patchsetname}" + eapply "${WORKDIR}"/patches + einfo "Done." + + if use riscv ; then + elog "Adding rv32 backport patchset for glibc-2.32 (experimental)" + eapply "${WORKDIR}"/backport-rv32 + einfo "Done." + fi + fi + + default + + gnuconfig_update + + cd "${WORKDIR}" + find . -name configure -exec touch {} + + + # move the external locale-gen to its old place + mkdir extra || die + mv locale-gen-${LOCALE_GEN_VER} extra/locale || die + + eprefixify extra/locale/locale-gen + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" +} + +glibc_do_configure() { + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + # CXX isnt handled by the multilib system, so if we dont unset here + # we accumulate crap across abis + unset CXX + + einfo "Configuring glibc for nptl" + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi + einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + einfo " $(printf '%15s' 'Manual NM:') ${NM}" + einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" + + echo + + local myconf=() + + case ${CTARGET} in + m68k*) + # setjmp() is not compatible with stack protection: + # https://sourceware.org/PR24202 + myconf+=( --enable-stack-protector=no ) + ;; + powerpc-*) + # Currently gcc on powerpc32 generates invalid code for + # __builtin_return_address(0) calls. Normally programs + # don't do that but malloc hooks in glibc do: + # https://gcc.gnu.org/PR81996 + # https://bugs.gentoo.org/629054 + myconf+=( --enable-stack-protector=no ) + ;; + *) + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + # '=all' is also known to have a problem in IFUNC resolution + # tests: https://sourceware.org/PR25680, bug #712356. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) + ;; + esac + myconf+=( --enable-stackguard-randomization ) + + # Keep a whitelist of targets supporing IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + # Enable Intel Control-flow Enforcement Technology on amd64 if requested + case ${CTARGET} in + x86_64-*) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers=$(build_eprefix)$(alt_build_headers) + --prefix="$(host_eprefix)/usr" + --sysconfdir="$(host_eprefix)/etc" + --localstatedir="$(host_eprefix)/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_enable crypt) + $(use_multiarch || echo --disable-multi-arch) + $(use_enable static-pie) + $(use_enable systemtap) + $(use_enable nscd) + + # locale data is arch-independent + # https://bugs.gentoo.org/753740 + libc_cv_complocaledir='${exec_prefix}/lib/locale' + + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="$(host_eprefix)/sbin" + export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" + + # We take care of patching our binutils to use both hash styles, + # and many people like to force gnu hash style only, so disable + # this overriding check. #347761 + export libc_cv_hashstyle=no + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # ia64 static cross-compilers are a pita in so much that they + # can't produce static ELFs (as the libgcc.a is broken). so + # disable building of the programs for those targets if it + # doesn't work. + # XXX: We could turn this into a compiler test, but ia64 is + # the only one that matters, so this should be fine for now. + if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then + sed -i '1i+link-static = touch $@' config.make + fi + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then + echo 'main(){}' > "${T}"/test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + case ${CTARGET} in + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + local myconf=() + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(build_eprefix)$(alt_build_headers) + --prefix="$(host_eprefix)/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +do_src_compile() { + emake -C "$(builddir nptl)" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +glibc_src_test() { + cd "$(builddir nptl)" + + local myxfailparams="" + if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then + for myt in ${XFAIL_TEST_LIST[@]} ; do + myxfailparams+="test-xfail-${myt}=yes " + done + fi + + # sandbox does not understand unshare() and prevents + # writes to /proc/, which makes many tests fail + + SANDBOX_ON=0 LD_PRELOAD= emake ${myxfailparams} check +} + +do_src_test() { + local ret=0 + + glibc_src_test + : $(( ret |= $? )) + + return ${ret} +} + +src_test() { + if just_headers ; then + return + fi + + # Give tests more time to complete. + export TIMEOUTFACTOR=5 + + foreach_abi do_src_test || die "tests failed" +} + +run_locale_gen() { + # if the host locales.gen contains no entries, we'll install everything + local root="$1" + local inplace="" + + if [[ "${root}" == "--inplace-glibc" ]] ; then + inplace="--inplace-glibc" + root="$2" + fi + + local locale_list="${root}/etc/locale.gen" + + pushd "${ED}"/$(get_libdir) >/dev/null + + if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then + [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" + locale_list="${root}/usr/share/i18n/SUPPORTED" + fi + + set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \ + --destdir "${root}" + echo "$@" + "$@" + + popd >/dev/null +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + # Avoid stripping binaries not targeted by ${CHOST}. Or else + # ${CHOST}-strip would break binaries build for ${CTARGET}. + is_crosscompile && dostrip -x / + # gdb thread introspection relies on local libpthreas symbols. stripping breaks it + # See Note [Disable automatic stripping] + dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so + + if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + ppc64 /lib64/ld64.so.1 + # riscv + ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 + ilp32 /lib/ld-linux-riscv32-ilp32.so.1 + lp64d /lib/ld-linux-riscv64-lp64d.so.1 + lp64 /lib/ld-linux-riscv64-lp64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + ) + ;; + esac + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen + doman *.[0-8] + insinto /etc + doins locale.gen + + keepdir /usr/lib/locale + + cd "${S}" + + # Install misc network config files + insinto /etc + doins posix/gai.conf nss/nsswitch.conf + + # Gentoo-specific + newins "${FILESDIR}"/host.conf-1 host.conf + + if use nscd ; then + doins nscd/nscd.conf + + newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + systemd_dounit nscd/nscd.service + systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile ; then + run_locale_gen --inplace-glibc "${ED}/" + sed -e 's:COMPILED_LOCALES="":COMPILED_LOCALES="1":' -i "${ED}"/usr/sbin/locale-gen || die + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + + if ! use static-libs ; then + elog "Not installing static glibc libraries" + find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete + fi +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ./ld-*.so --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ -n ${ROOT} ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check + + if [[ -L ${EROOT}/usr/lib/locale ]]; then + # Help portage migrate this to a directory + # https://bugs.gentoo.org/753740 + rm "${EROOT}"/usr/lib/locale || die + fi +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" + fi + + if ! is_crosscompile && [[ -z ${ROOT} ]] ; then + use compile-locales || run_locale_gen "${EROOT}/" + fi + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi +} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 0d8766d83f0f..7c0a7f86c74e 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -2,11 +2,13 @@ AUX libcxx-3.9-cmake-link-flags.patch 1014 BLAKE2B 8e86059e00a5ebcd7a15288828766 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD libcxx-10.0.1.ebuild 5967 BLAKE2B 2e31f12ce656507bae063f3ec199ec485e2cd0e67346b87ba1ab4d57acb4f89d6c1f79d76ca305c470c1160414833ea727f62e9128ed5327dc81b06b27b9e58c SHA512 70ebbeeebdae6f4ee82cbe9d78e6c823535ea38c6cb84411b379962ee6ae93a0c495dab4f051bc5722257211e3d8f3997361dbcf383a6f46edfea1510d6a217b EBUILD libcxx-11.0.0.ebuild 6076 BLAKE2B bc3207e38459230228002e9e4cc119235aef014d59889f9dffd0bb8de7942793a7b434f0743bf20d54cfdba1de183cd56c813768b7781b0d71ea7e17525ec8a5 SHA512 56d881963a416846d58eb57598b95fc34a789a84f448d50aff69ef44981ac05edefe4fcf11100245a9ee8751adf6b3291844f70c3a2d14f78e60de7256440478 EBUILD libcxx-11.0.1.9999.ebuild 6051 BLAKE2B 073787f1a880a85bda48d8f9d8de9140b3e240c554b9fc5a822037d4aed0d47fa6759c9fe01f43a42a37458dfd451ff7676f88c48f3bc8d48c010f1361a2f492 SHA512 807f943e94677bb161b2c479e85ab75fde4747302c6b16e63ab45156571bd50edf0a27a8e5cd765ece20937564f0b24acaa63ce285d21e3a8901530da961bd5a EBUILD libcxx-11.0.1_rc1.ebuild 6051 BLAKE2B 073787f1a880a85bda48d8f9d8de9140b3e240c554b9fc5a822037d4aed0d47fa6759c9fe01f43a42a37458dfd451ff7676f88c48f3bc8d48c010f1361a2f492 SHA512 807f943e94677bb161b2c479e85ab75fde4747302c6b16e63ab45156571bd50edf0a27a8e5cd765ece20937564f0b24acaa63ce285d21e3a8901530da961bd5a +EBUILD libcxx-11.0.1_rc2.ebuild 6051 BLAKE2B 073787f1a880a85bda48d8f9d8de9140b3e240c554b9fc5a822037d4aed0d47fa6759c9fe01f43a42a37458dfd451ff7676f88c48f3bc8d48c010f1361a2f492 SHA512 807f943e94677bb161b2c479e85ab75fde4747302c6b16e63ab45156571bd50edf0a27a8e5cd765ece20937564f0b24acaa63ce285d21e3a8901530da961bd5a EBUILD libcxx-12.0.0.9999.ebuild 6051 BLAKE2B 073787f1a880a85bda48d8f9d8de9140b3e240c554b9fc5a822037d4aed0d47fa6759c9fe01f43a42a37458dfd451ff7676f88c48f3bc8d48c010f1361a2f492 SHA512 807f943e94677bb161b2c479e85ab75fde4747302c6b16e63ab45156571bd50edf0a27a8e5cd765ece20937564f0b24acaa63ce285d21e3a8901530da961bd5a EBUILD libcxx-9.0.1.ebuild 6398 BLAKE2B 0bf084d925f6633809763077300f2221bd7fd67f2d29b1f4febc436b7ff658c51deb7b614807eb9459f466a120e9f7420cf047a1f5583effd48544bdc51aa344 SHA512 77898701b515982851e2e49436705c9166f9c82c011b967b942f3c4f8d2466692e89883d18b28b1ad886692d37b02234a14a80c965c12fc2675fc40baacceebc MISC metadata.xml 731 BLAKE2B a6e96906bc2bff950c1b193b01feeb456b064fa585042566eae77dbe9a207bb08dfd083a3ab5fede2133a80b905a61c6dd541f9196e585c60b5629dd04a06213 SHA512 0a25560aa3eff5355137dadbb9cc48e384d2885b89075a97a8dafc7ac0ebe4ec5fde5b171a3416490264791a734c4405ec8a42dfc98e7e830c30ef0cfef58b6f diff --git a/sys-libs/libcxx/libcxx-11.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..dd1a1a1f3a2f --- /dev/null +++ b/sys-libs/libcxx/libcxx-11.0.1_rc2.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind +static-libs test" +REQUIRED_USE="libunwind? ( libcxxabi )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )" +# llvm-6 for new lit options +# clang-3.9.0 installs necessary target symlinks unconditionally +# which removes the need for MULTILIB_USEDEP +DEPEND="${RDEPEND} + >=sys-devel/llvm-6" +BDEPEND=" + test? ( + >=dev-util/cmake-3.16 + >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + )" + +DOCS=( CREDITS.TXT ) + +LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake/modules,utils/llvm-lit} ) +llvm.org_set_globals + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup + + if ! use libcxxabi && ! tc-is-gcc ; then + eerror "To build ${PN} against libsupc++, you have to use gcc. Other" + eerror "compilers are not supported. Please set CC=gcc and CXX=g++" + eerror "and try again." + die + fi +} + +src_prepare() { + # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a + # out-of-tree build. + eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch" + + llvm.org_src_prepare +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # note: we need to do this before multilib kicks in since it will + # alter the CHOST + local cxxabi cxxabi_incs + if use libcxxabi; then + cxxabi=libcxxabi + cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" + else + local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" + cxxabi=libsupc++ + cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + # we want -lgcc_s for unwinder, and for compiler runtime when using + # gcc, clang with gcc runtime (or any unknown compiler) + local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF + if use libunwind; then + # work-around missing -lunwind upstream + extra_libs+=( -lunwind ) + # if we're using libunwind and clang with compiler-rt, we want + # to link to compiler-rt instead of -lgcc_s + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LDFLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + want_gcc_s=OFF + want_compiler_rt=ON + extra_libs+=( "${compiler_rt}" ) + fi + fi + fi + + # bootstrap: cmake is unhappy if compiler can't link to stdlib + local nolib_flags=( -nodefaultlibs -lc ) + if ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=$(usex static-libs) + -DLIBCXX_CXX_ABI=${cxxabi} + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} + # we're using our own mechanism for generating linker scripts + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} + -DLIBCXX_INCLUDE_TESTS=$(usex test) + -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt} + -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}" + ) + + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxx +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +gen_static_ldscript() { + local libdir=$(get_libdir) + local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "libsupc++.a") + + # Move it first. + mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die + # Generate libc++.a ldscript for inclusion of its dependencies so that + # clang++ -stdlib=libc++ -static works out of the box. + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" + # On Linux/glibc it does not link without libpthread or libdl. It is + # fine on FreeBSD. + use elibc_glibc && deps+=" libpthread.a libdl.a" + + gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die +} + +gen_shared_ldscript() { + local libdir=$(get_libdir) + # libsupc++ doesn't have a shared version + local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "libsupc++.a") + + mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" + + gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die +} + +multilib_src_install() { + cmake_src_install + gen_shared_ldscript + use static-libs && gen_static_ldscript +} + +pkg_postinst() { + elog "This package (${PN}) is mainly intended as a replacement for the C++" + elog "standard library when using clang." + elog "To use it, instead of libstdc++, use:" + elog " clang++ -stdlib=libc++" + elog "to compile your C++ programs." +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 20bfde8532ac..9ecf96041edd 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD libcxxabi-10.0.1.ebuild 3238 BLAKE2B e2bd5189a20b8a2a575d1a660d97e7554527f03e4cb3c836b2f1c715bf42ce37250dcf2067639bb59f2c580fd3aa45f4217577ec41a1f4747a7e8397dde519cd SHA512 c6d03f55af65ca576d380497ff172dd3964e31fbc3fe1a8f49ae0b94364d6bf1819505ec5c4b1167744e0f11126cf22b4a8fbba03fff35017cf3963415a675c2 EBUILD libcxxabi-11.0.0.ebuild 3278 BLAKE2B c0d0f3b89e3e5d9c9f18f18bc0dd05f440988dea5e26a75fa0dd832ca7425dc8b1aee86add1bc2cabb8690957118fe4962d47c934b961aa5921859c783c8ed8e SHA512 8f656a3c866bfdf83fb06e56d3fa1b4c6ac3e99bb8ff2bab66e44e6a820dda362f1174a0f700130bdd25c7c5ecac31ee32c5377700e2abe54618a192b4306fb6 EBUILD libcxxabi-11.0.1.9999.ebuild 3254 BLAKE2B b955ae412a6407b4f8687ea80d6d28ee0c7ee31d811e11002ce0b817b3f73bce6b8c4ca7f0020b8580c5e43e2fbb8364f3af373f812cf13f74b0334db41814a1 SHA512 7683c68ed72934a9c74e29b37b4a94af73f5607b9dc1857b7d1970c756654acc4176873e4201d11179f18b775306f34ffd082f532808837a118ff3e3a9517f59 EBUILD libcxxabi-11.0.1_rc1.ebuild 3254 BLAKE2B b955ae412a6407b4f8687ea80d6d28ee0c7ee31d811e11002ce0b817b3f73bce6b8c4ca7f0020b8580c5e43e2fbb8364f3af373f812cf13f74b0334db41814a1 SHA512 7683c68ed72934a9c74e29b37b4a94af73f5607b9dc1857b7d1970c756654acc4176873e4201d11179f18b775306f34ffd082f532808837a118ff3e3a9517f59 +EBUILD libcxxabi-11.0.1_rc2.ebuild 3254 BLAKE2B b955ae412a6407b4f8687ea80d6d28ee0c7ee31d811e11002ce0b817b3f73bce6b8c4ca7f0020b8580c5e43e2fbb8364f3af373f812cf13f74b0334db41814a1 SHA512 7683c68ed72934a9c74e29b37b4a94af73f5607b9dc1857b7d1970c756654acc4176873e4201d11179f18b775306f34ffd082f532808837a118ff3e3a9517f59 EBUILD libcxxabi-12.0.0.9999.ebuild 3254 BLAKE2B b955ae412a6407b4f8687ea80d6d28ee0c7ee31d811e11002ce0b817b3f73bce6b8c4ca7f0020b8580c5e43e2fbb8364f3af373f812cf13f74b0334db41814a1 SHA512 7683c68ed72934a9c74e29b37b4a94af73f5607b9dc1857b7d1970c756654acc4176873e4201d11179f18b775306f34ffd082f532808837a118ff3e3a9517f59 EBUILD libcxxabi-9.0.1.ebuild 3390 BLAKE2B 708b1327f629ad4445fde37d53dea7807c433a2e3154f56f3fed4ba9eb698f3bb3e67055820521c58d8a31dc26abf28c293d709f97b4496ab420d788ab532c12 SHA512 18ab388b271756a5eb6dd1650d6a9f05a392b4e2cb48df92359c0e9ac763ecc4672343b4b51184f13c0636fe130e4a5972d8937866d34f1efec4b1addce1f81a MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..c1992223348b --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6" +BDEPEND=" + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + )" + +# libcxx is needed uncondtionally for the headers +LLVM_COMPONENTS=( libcxx{abi,} ) +LLVM_TEST_COMPONENTS=( llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + # link against compiler-rt instead of libgcc if we are using clang with libunwind + local want_compiler_rt=OFF + if use libunwind && tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LDFLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + want_compiler_rt=ON + fi + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt} + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" + ) + fi + cmake_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=OFF + -DLIBCXX_ENABLE_STATIC=ON + -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_src_configure + cmake_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 + + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxxabi +} + +multilib_src_install_all() { + insinto /usr/include/libcxxabi + doins -r include/. +} diff --git a/sys-libs/libkudzu/Manifest b/sys-libs/libkudzu/Manifest deleted file mode 100644 index 6cb108b5aff7..000000000000 --- a/sys-libs/libkudzu/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX kudzu-1.2.57.1-sbusfix.patch 2217 BLAKE2B 27506402bd81f1a1be3e5213945dd6c6ca814085da9b7becf9cd2845242e17acf8a7936ce843eddc49f6e46590f09c9077d852fb21d15d051d9beeb6d57b4c4b SHA512 5b94734f63e1bb62cbfc349646c6dc4663e6ed2309e554e701943c35649193b14ea779a0c08e531ee931a94afdcc3e15529a8f410c658ea26d26659fe4147c71 -AUX kudzu-1.2.57.1-sparc-keyboard.patch 5389 BLAKE2B b49bd002dcadf6f79ee468fe222f150660908e983e8ffa44cbbc446c8162e3494ecb2b959e11f59e19d56437cc163199e2f4e773cdb8e5e6bc86aa7e6b39606b SHA512 6b89de1ede96e1a523880a33975488957e87cfc31cc0155014bb8152123cafb7ad793edcd9d228b9946bc6005b544e6fb908185f4ff901e623ce200435982708 -DIST kudzu-1.2.57.1.tar.gz 165855 BLAKE2B cd7a71a45a234701dd3e94b7378b37017a03cc78bf5230cc267c273fee4baf5338a5509572f0ba1bb23c8f585ec452c4a7f2d02159326c4133ad6abd80d36c3f SHA512 799e7cea840b7495fc007f4e34adc50fecd2fa7ceda2e2779e39639d0b93b10419bd44a0eb910b2e47024a49a4376330653a6fd96e5560c4828d55e18ab5d641 -EBUILD libkudzu-1.2.57.1.ebuild 1297 BLAKE2B aec0ded22af437e769955d9f974a597a6e2133ded86024e41ee166e3825a92412e1c1252d1e5e4bab0d1a7588f1c3fbd3be520148d02e641a02bdaf3d41554fc SHA512 997eb0825c44048c1faacede1ee7c276ed8b2da9b969d48c9927eae7d77d3965aef9e3f6c5553d55c6b400b160a0720d6ba8a930f4f4bd8cee981b90174cb5f1 -MISC metadata.xml 256 BLAKE2B d02b5b33f7375594b6e77357966b74fd698579fcefce673bde9b7082e2a56a47b1b8824d5aa423ad7271113efc568997c476bc0106d147dbc1a198b201def869 SHA512 b301300f23bb631f440eef04dce17f16cfee618775d38013cfded6b0e8b806d772749578a39c43143104a1716d2cc6eefb3af7f6865d85da5b2cb6f1e78c7c68 diff --git a/sys-libs/libkudzu/files/kudzu-1.2.57.1-sbusfix.patch b/sys-libs/libkudzu/files/kudzu-1.2.57.1-sbusfix.patch deleted file mode 100644 index 5c186ed631da..000000000000 --- a/sys-libs/libkudzu/files/kudzu-1.2.57.1-sbusfix.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- a/sbus.c -+++ b/sbus.c -@@ -162,6 +162,7 @@ - devClass = CLASS_NETWORK; - } else if (!strcmp(prop, "le")) { - type = "Sun Lance Ethernet"; -+ module = "sunlance"; - devClass = CLASS_NETWORK; - } else if (!strcmp(prop, "qe")) { - prop = prom_getproperty("channel#", &len); -@@ -206,9 +207,11 @@ - devClass = CLASS_SCSI; - } else if (!strcmp(prop, "esp")) { - type = "Sun Enhanced SCSI Processor (ESP)"; -+ module = "esp"; - devClass = CLASS_SCSI; - } else if (!strcmp(prop, "fas")) { - type = "Sun Swift (ESP)"; -+ module = "esp"; - devClass = CLASS_SCSI; - } else if (!strcmp(prop, "ptisp")) { - type = "Performance Technologies ISP"; -@@ -232,19 +235,19 @@ - while ((*prop >= 'A' && *prop <= 'Z') || *prop == ',') - if (*prop++ == ',') break; - if (!strcmp(prop, "audio")) { -- type = "AMD7930"; -- module = "amd7930"; -+ type = "Sun|AMD7930"; -+ module = "snd-sun-amd7930"; - devClass = CLASS_AUDIO; - } else if (!strcmp(prop, "CS4231")) { - if (ebus) -- type = "CS4231 EB2 DMA (PCI)"; -+ type = "Sun|CS4231 EB2 DMA (PCI)"; - else -- type = "CS4231 APC DMA (SBUS)"; -- module = "cs4231"; -+ type = "Sun|CS4231 APC DMA (SBUS)"; -+ module = "snd-sun-cs4231"; - devClass = CLASS_AUDIO; - } else if (!strcmp(prop, "DBRIe")) { -- type = "SS10/SS20 DBRI"; -- module = "dbri"; -+ type = "Sun|SS10/SS20 DBRI"; -+ module = "snd-sun-dbri"; - devClass = CLASS_AUDIO; - } - prop = prom_getproperty("device_type", &len); -@@ -452,22 +455,6 @@ - - struct device *sbusProbe( enum deviceClass probeClass, int probeFlags, - struct device *devlist) { -- if (probeClass & CLASS_MOUSE) { -- int fd; -- struct sbusDevice *mousedev; -- -- if ((fd = open("/dev/sunmouse", O_RDONLY)) != -1) { -- /* FIXME: Should probably talk to the mouse to see -- if the connector is not empty. */ -- close (fd); -- mousedev = sbusNewDevice(NULL); -- mousedev->type = CLASS_MOUSE; -- mousedev->device = strdup("sunmouse"); -- mousedev->desc = strdup("Sun Mouse"); -- mousedev->next = devlist; -- devlist = (struct device *)mousedev; -- } -- } - if ( - (probeClass & CLASS_OTHER) || - (probeClass & CLASS_NETWORK) || diff --git a/sys-libs/libkudzu/files/kudzu-1.2.57.1-sparc-keyboard.patch b/sys-libs/libkudzu/files/kudzu-1.2.57.1-sparc-keyboard.patch deleted file mode 100644 index 5626a357345d..000000000000 --- a/sys-libs/libkudzu/files/kudzu-1.2.57.1-sparc-keyboard.patch +++ /dev/null @@ -1,195 +0,0 @@ ---- a/keyboard.c -+++ b/keyboard.c -@@ -21,7 +21,6 @@ - #include "keyboard.h" - - #ifdef __sparc__ --#include <asm/kbio.h> - #include <asm/openpromio.h> - #include <asm/types.h> - #endif -@@ -96,7 +95,15 @@ - {0, 0} - }; - --#if !defined(__s390__) && !defined(__s390x__) -+#if defined(__sparc__) -+static int termcmp(struct termios *a, struct termios *b) -+{ -+ if (a->c_iflag != b->c_iflag || a->c_oflag != b->c_oflag || -+ a->c_cflag != b->c_cflag || a->c_lflag != b->c_lflag) -+ return 1; -+ return memcmp(a->c_cc, b->c_cc, sizeof(a->c_cc)); -+} -+#elif !defined(__s390__) && !defined(__s390x__) - static int termcmp(struct termios *a, struct termios *b) - { - if (a->c_iflag != b->c_iflag || a->c_oflag != b->c_oflag || -@@ -110,150 +117,6 @@ - struct device *keyboardProbe(enum deviceClass probeClass, int probeFlags, - struct device *devlist) - { --#ifdef __sparc__ -- int fd; -- char buf[256]; -- struct keyboardDevice *kbddev; -- -- if (probeClass & CLASS_KEYBOARD) { -- static struct { -- int layout0, layout1, layout2; -- char *symbols; -- int use_iso9995_3; -- } sunkbd_translate[] = { -- { 0, 33, 80, "", 0, }, -- { 1, 34, 81, "", 0, }, -- { 2, -1, -1, "fr_BE", 0, }, -- { 3, -1, -1, "ca", 0, }, -- { 4, 36, 83, "dk", 1, }, -- { 5, 37, 84, "de", 1, }, -- { 6, 38, 85, "it", 1, }, -- { 7, 39, 86, "nl", 0, }, -- { 8, 40, 87, "no", 1, }, -- { 9, 41, 88, "pt", 1, }, -- { 10, 42, 89, "es", 1, }, -- { 11, 43, 90, "se", 1, }, -- { 12, 44, 91, "fr_CH",1, }, -- { 13, 45, 92, "de_CH",1, }, -- { 14, 46, 93, "gb", 1, }, -- { 16, 47, 94, "ko", 0, }, -- { 17, 48, 95, "tw", 0, }, -- { 32, 49, 96, "jp", 0, }, -- { 50, 97, -1, "fr_CA",0, }, -- { 51, -1, -1, "hu", 0, }, -- { 52, -1, -1, "pl", 0, }, -- { 53, -1, -1, "cs", 0, }, -- { 54, -1, -1, "ru", 0, }, -- { -1, -1, -1, NULL, 0, } -- }; -- -- char twelve = 12; -- int fdstd = 0; -- char buf[4096]; -- -- for (fd = 0; fd <= 2; fd++) { -- sprintf (buf, "/proc/self/fd/%d", fd); -- if (readlink (buf, buf, 4096) == 12 && -- !strncmp (buf, "/dev/console", 12)) { -- fdstd = 1; -- break; -- } -- } -- if (!fdstd) { -- fd = open("/dev/console", O_RDWR); -- if (fd < 0) return devlist; -- } -- -- kbddev=keyboardNewDevice(NULL); -- kbddev->type=CLASS_KEYBOARD; -- if (devlist) -- kbddev->next = devlist; -- devlist = (struct device *) kbddev; -- -- if (ioctl (fd, TIOCLINUX, &twelve) < 0) { -- /* Serial console */ -- char desc[64]; -- struct serial_struct si; -- int line = 0; -- -- if (ioctl (fd, TIOCGSERIAL, &si) >= 0) { -- if (si.line & 1) -- /* ttyb */ -- line = 1; -- } -- if (!fdstd) close(fd); -- sprintf (desc, "Serial console tty%c", line + 'a'); -- fd = open("/dev/openprom", O_RDONLY); -- if (fd >= 0) { -- struct openpromio *op = (struct openpromio *)buf; -- sprintf (op->oprom_array, "tty%c-mode", line + 'a'); -- op->oprom_size = 4096-128-4; -- if (ioctl (fd, OPROMGETOPT, op) >= 0 && -- op->oprom_size > 0 && op->oprom_size < 40) { -- strcat (desc, " "); -- op->oprom_array [op->oprom_size] = 0; -- strcat (desc, op->oprom_array); -- } -- close (fd); -- } -- kbddev->desc=strdup(desc); -- kbddev->device=strdup("console"); -- return devlist; -- } -- -- if (!fdstd) close(fd); -- fd=open("/dev/kbd", O_RDWR); -- if (fd < 0) { -- /* PS/2 keyboard */ -- kbddev->desc=strdup("Generic PS/2 Keyboard"); -- } else { -- /* Sun keyboard */ -- int kbdtype, kbdlayout, i; -- char *desc, *desclayout = NULL; -- -- kbddev->device=strdup("kbd"); -- desc = "Sun Type4 "; -- if (ioctl(fd, KIOCTYPE, &kbdtype) >= 0) -- switch (kbdtype) { -- case 2: desc = "Sun Type2 "; break; -- case 3: desc = "Sun Type3 "; break; -- case 4: ioctl(fd, KIOCLAYOUT, &kbdlayout); -- if (kbdlayout < 33) -- desc = "Sun Type4 "; -- else switch (kbdlayout) { -- case 33: case 47: case 48: case 49: -- case 80: case 94: case 95: case 96: -- desc = "Sun Type5 "; break; -- case 34: case 81: -- desc = "Sun Type5 Unix "; break; -- default: -- desc = "Sun Type5 Euro "; break; -- } -- for (i = 0; sunkbd_translate[i].layout0 != -1; i++) { -- if (sunkbd_translate[i].layout0 == kbdlayout || -- sunkbd_translate[i].layout1 == kbdlayout || -- sunkbd_translate[i].layout2 == kbdlayout) -- break; -- } -- if (sunkbd_translate[i].layout0 != -1 && -- sunkbd_translate[i].symbols[0]) -- desclayout = sunkbd_translate[i].symbols; -- break; -- } -- if (desclayout) { -- kbddev->desc = malloc(strlen(desc) + strlen(desclayout) + 1 + strlen("Keyboard") + 1); -- strcpy (kbddev->desc, desc); -- strcat (kbddev->desc, desclayout); -- strcat (kbddev->desc, " Keyboard"); -- } else { -- kbddev->desc = malloc(strlen(desc) + strlen("Keyboard") + 1); -- strcpy (kbddev->desc, desc); -- strcat (kbddev->desc, "Keyboard"); -- } -- } -- close (fd); -- } --#else - int fd; - char twelve = 12; - int fdstd = 0; -@@ -311,7 +174,7 @@ - kbddev->device = strdup("ttySG0"); - } - #endif --#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__) || defined(__sparc__) - int cfd; - struct termios cmode, mode; - -@@ -397,7 +260,6 @@ - kbddev->device=strdup(desc); - } - } --#endif - out: - return devlist; - } diff --git a/sys-libs/libkudzu/libkudzu-1.2.57.1.ebuild b/sys-libs/libkudzu/libkudzu-1.2.57.1.ebuild deleted file mode 100644 index e37cf4c2de6a..000000000000 --- a/sys-libs/libkudzu/libkudzu-1.2.57.1.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils linux-info flag-o-matic toolchain-funcs - -DESCRIPTION="Red Hat Hardware detection tools" -HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" -SRC_URI="mirror://gentoo/kudzu-${PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 hppa ~ia64 -mips ppc ppc64 sparc x86" -IUSE="zlib" - -DEPEND=" - dev-libs/popt - >=sys-apps/pciutils-2.2.4[zlib?] - zlib? ( sys-libs/zlib ) -" -RDEPEND=" - ${DEPEND} - sys-apps/hwdata-gentoo - !sys-apps/kudzu -" - -S=${WORKDIR}/kudzu-${PV} - -src_prepare() { - sed -i -e 's/-fpic/-fPIC/g' Makefile || die - - epatch \ - "${FILESDIR}"/kudzu-${PV}-sbusfix.patch \ - "${FILESDIR}"/kudzu-${PV}-sparc-keyboard.patch -} - -src_configure() { - if use zlib; then - sed -i -e 's| -lpci| -lz -lpci|g' Makefile || die - fi - # Fix the modules directory to match Gentoo layout. - sed -i -e 's|/etc/modutils/kudzu|/etc/modules.d/kudzu|g' *.* || die - - tc-export CC -} - -src_compile() { - emake \ - $( usex ppc ARCH='ppc' ARCH=$(tc-arch-kernel) ) \ - AR=$(tc-getAR) \ - RANLIB=$(tc-getRANLIB) \ - RPM_OPT_FLAGS="${CFLAGS}" \ - libkudzu.a libkudzu_loader.a -} - -src_install() { - insinto /usr/include/kudzu - doins *.h - - dolib.a libkudzu.a libkudzu_loader.a - - keepdir /etc/sysconfig -} diff --git a/sys-libs/libkudzu/metadata.xml b/sys-libs/libkudzu/metadata.xml deleted file mode 100644 index 06ddf117247b..000000000000 --- a/sys-libs/libkudzu/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<maintainer type="project"> - <email>releng@gentoo.org</email> - <name>Gentoo Release Engineering</name> -</maintainer> -</pkgmetadata> diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index dc006eb6c59c..66743a4828b3 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD libomp-10.0.1.ebuild 2893 BLAKE2B e91e074bfa0d1584d40d997a1661507f404d6a6e4593e6da2a6825a1f8260ff02c4daebe4b9183d6ea025aa5c3be6986f3f7a920f578ad16d993ea10db272943 SHA512 558940389a55b5ea0e6e4c5b0fb48a8eaad5c00e26c1af90d5619106711b78341a532c59535f01ba5eedf99902af4494838b6edf5a0ade8693524d662d55053a EBUILD libomp-11.0.0.ebuild 2900 BLAKE2B 7aeeb7dd0598c9834437176843cd11f43c3e77c73b1638c15ce2d00cfbf44a2af939a5f1a24759c7f8f118ff13e17d26769263eac84ef4b7ea2ce9e560ffd443 SHA512 95d4c487ae19ce18d8f8efb22c71a85c38cbfed7dcdbf7d9a2bae8633ae066cef6dd4a64e8ad80a3684590ffbaf3451577e11ad40b7ab6a10a29cb0f71917c66 EBUILD libomp-11.0.1.9999.ebuild 2845 BLAKE2B 13c2ef4577d1dcd14f11d5100797a5bc936d9f02c0ca9814c63e4fd8b9e8c274404c8d672ededfd4b304c1c864a33c39d7b1c9f2b1c7c98c70008f809dbb3f19 SHA512 1552854a04dfc15e518a2b8234e64f1d6679638681023d4fd5690ca6577eec4f84b4ab64f3f211c20c9167be354549e2ab96fa2051dc40e66f1689caeea2d58d EBUILD libomp-11.0.1_rc1.ebuild 2845 BLAKE2B 13c2ef4577d1dcd14f11d5100797a5bc936d9f02c0ca9814c63e4fd8b9e8c274404c8d672ededfd4b304c1c864a33c39d7b1c9f2b1c7c98c70008f809dbb3f19 SHA512 1552854a04dfc15e518a2b8234e64f1d6679638681023d4fd5690ca6577eec4f84b4ab64f3f211c20c9167be354549e2ab96fa2051dc40e66f1689caeea2d58d +EBUILD libomp-11.0.1_rc2.ebuild 2845 BLAKE2B 13c2ef4577d1dcd14f11d5100797a5bc936d9f02c0ca9814c63e4fd8b9e8c274404c8d672ededfd4b304c1c864a33c39d7b1c9f2b1c7c98c70008f809dbb3f19 SHA512 1552854a04dfc15e518a2b8234e64f1d6679638681023d4fd5690ca6577eec4f84b4ab64f3f211c20c9167be354549e2ab96fa2051dc40e66f1689caeea2d58d EBUILD libomp-12.0.0.9999.ebuild 2858 BLAKE2B 5b23d8c8e540decfa950bd795e0b3ec956307e9bbcd8aa67e9e7e574a0a0990987d8ad0bf2e7543bea128a052212f36bdc25d7d086a85092b1dade3ef1017f22 SHA512 f823e550a414fa30b23c2ac1ef1a53090bb0d547ae4ebbcecf227936e6f46d8dbdf23cc42b87cdbd009e5feddbad17a24b3bec065043a1460812258b74d89e66 EBUILD libomp-9.0.1.ebuild 3011 BLAKE2B 33ccc441765ab33b61c9739e999039b24437c6f79b89a4db5ee1575b072fd3af609d5c8c583331db81b0b5a24a2a85cc359b4df312330b5732a24c7a8ebe3021 SHA512 404f3df2df27e031b59c4f827b13b2d9ce2b6af4126abdd1d6a233cfe0ec26ede61d01ddf6ca3434b6698ac6407ce8b4a845070b875f92eff4d961280c95ed5a MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-11.0.1_rc2.ebuild b/sys-libs/libomp/libomp-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..f715bdea5353 --- /dev/null +++ b/sys-libs/libomp/libomp-11.0.1_rc2.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake-multilib linux-info llvm.org python-any-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="cuda hwloc kernel_linux offload ompt test" +# CUDA works only with the x86_64 ABI +REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" +RESTRICT="!test? ( test )" + +RDEPEND=" + hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] + dev-libs/libffi:=[${MULTILIB_USEDEP}] + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + )" +# tests: +# - dev-python/lit provides the test runner +# - sys-devel/llvm provide test utils (e.g. FileCheck) +# - sys-devel/clang provides the compiler to run tests +DEPEND="${RDEPEND}" +BDEPEND="dev-lang/perl + offload? ( virtual/pkgconfig ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + >=sys-devel/clang-6 + )" + +LLVM_COMPONENTS=( openmp ) +llvm.org_set_globals + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +kernel_pds_check() { + if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then + local CONFIG_CHECK="~!SCHED_PDS" + local ERROR_SCHED_PDS="\ +PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11 +< 4.14-pf9) do not implement sched_yield() call which may result in horrible +performance problems with libomp. If you are using one of the specified +kernel versions, you may want to disable the PDS scheduler." + + check_extra_config + fi +} + +pkg_pretend() { + kernel_pds_check +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + use offload && mycmakeargs+=( + # this is non-fatal and libomp checks for CUDA conditionally + # to ABI, so we can just ignore passing the wrong value + # on non-amd64 ABIs + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + ) + use test && mycmakeargs+=( + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="$(get_lit_flags)" + + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" + ) + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-libomp +} diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest index 3c45816281aa..b9503e5d783c 100644 --- a/sys-libs/libunwind/Manifest +++ b/sys-libs/libunwind/Manifest @@ -2,8 +2,6 @@ AUX libunwind-1.2-coredump-regs.patch 619 BLAKE2B b901d50cb7fa4ab372da26120e512d AUX libunwind-1.2-ia64-missing.patch 3863 BLAKE2B 384d2afd7d725f0730207b5b32ff4ffcedd852043af83b1884c7dc95116298eff41bd7f997e0ad51c9912b59e36b439eb524d3d4786f2a0a19dff32437e62003 SHA512 e8f65d706839770d993f9801371e1e294a0231c4bfe29b497e4a859567b7f5b6561b0a15d59b1626311e549fe57149046f5a76424a2ad69c521610aaa3019c17 AUX libunwind-1.2-ia64-ptrace-coredump.patch 1445 BLAKE2B 0b4b6b5d7b3cfc8be58c3973b096ceeb19faa84f175a23f2130588351e40f94abf5c53a4eb5813d8b9da7762f032671031d2d637bd2ec445f7e4f9ea9d276773 SHA512 0bab310ff16294d7617077ffa1261fe9c1a6aaeb4339c96918869c4dd9a2b1b73fbe2ebb5c895f1a420ff7922da85cbb44ccfcd69df6e2518c1f2ff64b7b2d76 AUX libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch 1290 BLAKE2B eac40a5cb05fbda00e5dde5b4ecedfa21442cb5481281b8aac45b118d8b8d503bafe69aa9adb93cac9c7e89cb72f8b44bdb7018a09aa4c9d512e20a457c7d78f SHA512 36b76eefdff3ca832696c13b18d9153ca89d5b648c7df11d3c112a85e9ab92e9f124fdbd05d2d9017bd9c5cdc6bbb2de5038918c9f3a2695c8fa3a05835abdb0 -DIST libunwind-1.4.0.tar.gz 872941 BLAKE2B 39628dd46151d2748372c8f1dfa3cd39114770b85e890b048304f8395b2778a22da4cc468eb6fe1e2357a41bed5a6067e12992634859dabe30addd0fd39b4269 SHA512 60bce1e840f071d3a48cfa8e2acff988977956f659c5c04ce83f00751348fbbeddbfc54e8c9bd6ebc9073423ca5ee1816655dc5aa59fefd0a8edc9c3f7f3b913 DIST libunwind-1.5.0.tar.gz 878355 BLAKE2B ee35441289926ac22a58bedb9f831d8e13bacd663a99b3ce25eed229f25f0423bbbd90e09e3d62b003518d7a620aa6d15b0dd5b93632736a89fa0667b35d5fc2 SHA512 1df20ca7a8cee2f2e61294fa9b677e88fec52e9d5a329f88d05c2671c69fa462f6c18808c97ca9ff664ef57292537a844f00b18d142b1938c9da701ca95a4bab -EBUILD libunwind-1.4.0.ebuild 3084 BLAKE2B 2c1791c707e2b2fe38abea2faa0f904a414d49c46c61ddc8ced7603294221cdec275758f230a2696e0378db1ea0c4e26fcf66e1e9a2840e32ba90b4ce291ff9f SHA512 efc6aaa08d84b322fb31485c83881447657a6ad588cc5b29a50ff78e3a4ade8a14d4c99370eb042aa19f7baef716decedd71dc1b6697921a66f53c6b80dc87de -EBUILD libunwind-1.5.0.ebuild 3234 BLAKE2B 49fd0f035b58211350dad8d60fe706f306fc85a1805384e069ce3f2c6024d86b84c77d59d334defc09b6c90e62b39d8f5df7628288402eb401b326d5dc7ebe56 SHA512 8d9017bd8162a3a06c1fcc3d21a97a63ae6b397a7575c6aed6b812ad2f31ddd108a4048761278cbb60f115edd305c5d38dffbab3bf77ab1d2c5e0caa6ba53b59 +EBUILD libunwind-1.5.0.ebuild 3233 BLAKE2B 3f2cf31fabbc43bb0ec23353ae4bb93baf94df6fb2b0ce526989df3bb5d1ac705d537c1342090fd3d27aec779f661df4f83f64a362a159bb4bc9183f269e8846 SHA512 1ca06a8a5f3332746c4964d0befa05579eba67593555a86b09496badd1e5485bf04640760ea1300699c3655bde91c8cad12ca4a2a08f635459c2819a4e192f7a MISC metadata.xml 489 BLAKE2B c0a884e7161b62e8548fdf3c8c1d34b24936c71a99fef37713b7c36e0ef3423563e5c98eae8e9748db059645ce85cf972448e0584b1ed92e51c228794e5ed10d SHA512 d7586420e24a7b841cb090ce8dc7bb1c1260a3e2afbc6606d0a974243ca20c0586b4aa3e770b5b98787f8d34b8255846d87550c16f68da6e9d3f55f8b57bde40 diff --git a/sys-libs/libunwind/libunwind-1.4.0.ebuild b/sys-libs/libunwind/libunwind-1.4.0.ebuild deleted file mode 100644 index f3a6bbb9eff6..000000000000 --- a/sys-libs/libunwind/libunwind-1.4.0.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2005-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} -inherit autotools flag-o-matic libtool multilib-minimal - -DESCRIPTION="Portable and efficient API to determine the call-chain of a program" -HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" -SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz" - -LICENSE="MIT" -SLOT="0/8" # libunwind.so.8 -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 -sparc x86 ~amd64-linux ~x86-linux" -IUSE="debug debug-frame doc libatomic lzma +static-libs" - -RESTRICT="test" # some tests are broken (toolchain version dependent) - -# We just use the header from libatomic. -RDEPEND="lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )" - -S="${WORKDIR}/${MY_P}" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libunwind.h - - # see libunwind.h for the full list of arch-specific headers - /usr/include/libunwind-aarch64.h - /usr/include/libunwind-arm.h - /usr/include/libunwind-hppa.h - /usr/include/libunwind-ia64.h - /usr/include/libunwind-mips.h - /usr/include/libunwind-ppc32.h - /usr/include/libunwind-ppc64.h - /usr/include/libunwind-sh.h - /usr/include/libunwind-tilegx.h - /usr/include/libunwind-x86.h - /usr/include/libunwind-x86_64.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.2-coredump-regs.patch #586092 - "${FILESDIR}"/${PN}-1.2-ia64-ptrace-coredump.patch - "${FILESDIR}"/${PN}-1.2-ia64-missing.patch - "${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch -) - -src_prepare() { - default - chmod +x src/ia64/mk_cursor_i || die - # Since we have tests disabled via RESTRICT, disable building in the subdir - # entirely. This works around some build errors too. #484846 - sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die - - elibtoolize - eautoreconf - - # Let's wait for proper fix upstream in https://github.com/libunwind/libunwind/issues/154 - # Meanwhile workaround for gcc-10 with -fcommon, bug #706560 - append-cflags -fcommon -} - -multilib_src_configure() { - # --enable-cxx-exceptions: always enable it, headers provide the interface - # and on some archs it is disabled by default causing a mismatch between the - # API and the ABI, bug #418253 - # conservative-checks: validate memory addresses before use; as of 1.0.1, - # only x86_64 supports this, yet may be useful for debugging, couple it with - # debug useflag. - ECONF_SOURCE="${S}" \ - ac_cv_header_atomic_ops_h=$(usex libatomic) \ - econf \ - --enable-cxx-exceptions \ - --enable-coredump \ - --enable-ptrace \ - --enable-setjmp \ - $(use_enable debug-frame) \ - $(use_enable doc documentation) \ - $(use_enable lzma minidebuginfo) \ - $(use_enable static-libs static) \ - $(use_enable debug conservative_checks) \ - $(use_enable debug) -} - -multilib_src_compile() { - # Bug 586208 - CCACHE_NODIRECT=1 default -} - -multilib_src_test() { - # Explicitly allow parallel build of tests. - # Sandbox causes some tests to freak out. - SANDBOX_ON=0 emake check -} - -multilib_src_install_all() { - find "${D}" -name "*.la" -type f -delete || die -} diff --git a/sys-libs/libunwind/libunwind-1.5.0.ebuild b/sys-libs/libunwind/libunwind-1.5.0.ebuild index 42ee07e1b350..0426d0b78971 100644 --- a/sys-libs/libunwind/libunwind-1.5.0.ebuild +++ b/sys-libs/libunwind/libunwind-1.5.0.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz" LICENSE="MIT" SLOT="0/8" # libunwind.so.8 -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ~ppc64 -sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 -sparc x86 ~amd64-linux ~x86-linux" IUSE="debug debug-frame doc libatomic lzma +static-libs zlib" RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries) diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 70bd3a16f784..29f8d74b5343 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 +DIST llvmorg-11.0.1-rc2.tar.gz 122793330 BLAKE2B 5d42f7bd7ba253ac3ca08cf9901c79db5b51b86f0f66c8e63f4f9808ca5fb72cacccfad098b4f6701a34b0d77bdd66fe3839a3962a251eae53776240a2e13b06 SHA512 acda5a5be38cc8aae730c34cd1bb8f29a82e2ed3dd9734ca293ff092d5b30c8c255ab3054245b8f6ed541d5dbf8bc674b744bb2f81788db8826f69a204dda0c3 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD llvm-libunwind-10.0.1.ebuild 3186 BLAKE2B 11f1a597295754131e37decd729a0583405885910ca915cec77fe0593452164d217f7205ea0ead058c63779b9b0eefb92d2b0118cc764497483a42db0f059ad4 SHA512 eaaff919522f581886c212c319e20056ad2554fb4499e17a3a9d4ea3dc2d12ec2c07ab2c4de300c38103f92f640887845c5368ee0eb8c8cc921454033e5936c4 EBUILD llvm-libunwind-11.0.0.ebuild 3197 BLAKE2B b2bc45250b64e5db02e14ff2b8b24eca7a63f0b17e32ff11563a8191f399d90b61ad58349cb2d834bc64a95e297e89f60225761f800af72f7e93927dcdfbc395 SHA512 798c6001df7018d840c28da7a1d3063d5d3549c406b550e20120fc1ff9f337a1e88d4140a8b0eb45871e0eb4e3ad5943790490cf32b127525dd890142a7d294e EBUILD llvm-libunwind-11.0.1.9999.ebuild 3180 BLAKE2B c28657a17c13d0542029afa1adfc0c93ef7527b27243c75d7e6cd8647b89a612b95876ca53e0c8035e5be6682121f64a1ca182cbecf43703d773ee4d9e278852 SHA512 9c7bb3b843ecb3169c85df3cfd9b821a7c6f9e11b777645fab0a0e5b9365dad974f578c65fe535e222034d13b03df3738dbe07ded84894f293da77fdf14b1738 EBUILD llvm-libunwind-11.0.1_rc1.ebuild 3180 BLAKE2B c28657a17c13d0542029afa1adfc0c93ef7527b27243c75d7e6cd8647b89a612b95876ca53e0c8035e5be6682121f64a1ca182cbecf43703d773ee4d9e278852 SHA512 9c7bb3b843ecb3169c85df3cfd9b821a7c6f9e11b777645fab0a0e5b9365dad974f578c65fe535e222034d13b03df3738dbe07ded84894f293da77fdf14b1738 +EBUILD llvm-libunwind-11.0.1_rc2.ebuild 3180 BLAKE2B c28657a17c13d0542029afa1adfc0c93ef7527b27243c75d7e6cd8647b89a612b95876ca53e0c8035e5be6682121f64a1ca182cbecf43703d773ee4d9e278852 SHA512 9c7bb3b843ecb3169c85df3cfd9b821a7c6f9e11b777645fab0a0e5b9365dad974f578c65fe535e222034d13b03df3738dbe07ded84894f293da77fdf14b1738 EBUILD llvm-libunwind-12.0.0.9999.ebuild 3180 BLAKE2B c28657a17c13d0542029afa1adfc0c93ef7527b27243c75d7e6cd8647b89a612b95876ca53e0c8035e5be6682121f64a1ca182cbecf43703d773ee4d9e278852 SHA512 9c7bb3b843ecb3169c85df3cfd9b821a7c6f9e11b777645fab0a0e5b9365dad974f578c65fe535e222034d13b03df3738dbe07ded84894f293da77fdf14b1738 EBUILD llvm-libunwind-9.0.1.ebuild 3356 BLAKE2B 761c9fcfbd3dc5689521f7423e1bafe4f673d7c6dbd397f6b6e0f4bc168495f3eea513c0550d20a60cf1e4e38200df59583cede7bfaad4c574f249e532fe4bb2 SHA512 82f4e6967d73ae96199a507081cd9cc913a4e4b2b0c45caa0b27d428b68262df76242d318327616bb5112d97ee68fec1061485f94f0137fd73a0fdaad998707b MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-11.0.1_rc2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.1_rc2.ebuild new file mode 100644 index 000000000000..38385b9304f5 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.1_rc2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake-multilib llvm llvm.org python-any-r1 + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="!sys-libs/libunwind" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6" +BDEPEND=" + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + )" + +LLVM_COMPONENTS=( libunwind ) +LLVM_TEST_COMPONENTS=( libcxx{,abi} llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + local libdir=$(get_libdir) + + local mycmakeargs=( + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLLVM_INCLUDE_TESTS=$(usex test) + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + ) + fi + + cmake_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=OFF + -DLIBCXXABI_ENABLE_STATIC=ONF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake_src_configure + cmake_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=OFF + -DLIBCXX_ENABLE_STATIC=ON + -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_src_configure + cmake_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 + + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + cmake_src_install + + # install headers like sys-libs/libunwind + doheader "${S}"/include/*.h +} diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest index fb4e583995bb..4a9fe1800d68 100644 --- a/sys-libs/newlib/Manifest +++ b/sys-libs/newlib/Manifest @@ -1,8 +1,10 @@ AUX newlib-3.3.0-no-nano-cxx.patch 1338 BLAKE2B ff16751b01784a38dc07aa79120c38f0274bb14caeeb653cecca4b3ca69c60a72e0e1918fea8f2c0f4734293817539122fa41b349f61ceabb3cb9ae878a11d13 SHA512 08dfc7d854dc75c8b875fa7c1829078c8df8988b4ba2b20739d387c656ca63b8b344487861d23658e31b72f911d05c2f57abe51bdf3b2dedcc88ce072c6595c8 DIST newlib-3.3.0.tar.gz 18361083 BLAKE2B bdc81427955d0a2f550bf2973ca82c0b8b55aa170565cdf1cfe8ac926257fad6d3e860ce7b2e286949ab21be2677378b5b6d3c743c05fe8aa6df8a8c34a16945 SHA512 2f0c6666487520e1a0af0b6935431f85d2359e27ded0d01d02567d0d1c6479f2f0e6bbc60405e88e46b92c2a18780a01a60fc9281f7e311cfd40b8d5881d629c DIST newlib-4.0.0.tar.gz 18645966 BLAKE2B 04dced199253f7ea725c1812c2083fd5664722bed645c5cc26567587f802119826ed6bb0372c53c9496110efdc6ee9ea0ec007885c00af885164bfd6b8280bad SHA512 15786bdba2ea6252409b0e3a11046d6315c7629df3b0ee37f0aa2e119c3f356d04e4da6ad2b5dc90de218cc35008f144d7bc986f6b24d95e8868e1848a9ca970 +DIST newlib-4.1.0.tar.gz 18648429 BLAKE2B c4d4d734bceeacf05b75d450d4316392d0000266812f98f99cd3f9f0926ac9848e1dc145361827d1d6951edfe5f109923c982d9f284f927ffc5fd5e5edaf8be6 SHA512 6a24b64bb8136e4cd9d21b8720a36f87a34397fd952520af66903e183455c5cf19bb0ee4607c12a05d139c6c59382263383cb62c461a839f969d23d3bc4b1d34 EBUILD newlib-3.3.0-r1.ebuild 4459 BLAKE2B c2a94dbe1f3f02e9b4f5ffdd3d80c0a7b85533966ae4e5339f8efda4534aa3e8eef297fb82b0a9c1c113556e3b28293a11444f7208abcce6f5fa9f3996ddcb29 SHA512 140d1044b26489f050a4d5e26f8df168c1a524fcaad1ce10b12c274f188b7c62d31c5870ab731d5f82262d594aa37d0251bd0da2ca1f62a8fd8a7a387dc9fe4e EBUILD newlib-3.3.0.ebuild 4401 BLAKE2B a35d99451e91261ea18c9d3e988e2ef260fa8bfbc17d16cb85db8958f1531152baf0b25281c930288a9d6a7affe0c08deb9d608b78e7906381e03962a4e9da61 SHA512 58ed88812207e3c2ef6e811ddb9e74cdef1b1626cc6c04a9d619e5c5bc4ad1f88516b4b9c2fdda9179848b17995bb34ec38f9d66f3bcea201bdee432e34cf7aa EBUILD newlib-4.0.0.ebuild 4458 BLAKE2B 1dd071212b733aec7c9b274c966439517eefec491cc99e2e2b2068b08dfca5b80de3de4482a67e5c1a6c51a4f53154b545115d883b98cf1e6d9c17636f02920f SHA512 7934761958f4171a30c109d46b5fe4f353f1a8f812a69663e4315a472cceb378102d862d335b0c991e3a479c2557daa960a8502aa1686b49456ee0629c2e133b +EBUILD newlib-4.1.0.ebuild 4458 BLAKE2B 1dd071212b733aec7c9b274c966439517eefec491cc99e2e2b2068b08dfca5b80de3de4482a67e5c1a6c51a4f53154b545115d883b98cf1e6d9c17636f02920f SHA512 7934761958f4171a30c109d46b5fe4f353f1a8f812a69663e4315a472cceb378102d862d335b0c991e3a479c2557daa960a8502aa1686b49456ee0629c2e133b EBUILD newlib-9999.ebuild 4458 BLAKE2B 1dd071212b733aec7c9b274c966439517eefec491cc99e2e2b2068b08dfca5b80de3de4482a67e5c1a6c51a4f53154b545115d883b98cf1e6d9c17636f02920f SHA512 7934761958f4171a30c109d46b5fe4f353f1a8f812a69663e4315a472cceb378102d862d335b0c991e3a479c2557daa960a8502aa1686b49456ee0629c2e133b MISC metadata.xml 413 BLAKE2B 03320244c40182ff9d503fd1d9c7c3847209eeb91081e7d4a3285ed43eba6a42e0f361f6b7601966df420dde2d4e93ca458816198c2f9ebaec82790359ce868b SHA512 37e46d117243b93e189177ada64acedc0d798dfe4859f29a7ef70b22fe44e6364a3445e345def7e48264cb2bf3047ac78637759bc04d9ed3d7ea339432adf7e4 diff --git a/sys-libs/newlib/newlib-4.1.0.ebuild b/sys-libs/newlib/newlib-4.1.0.ebuild new file mode 100644 index 000000000000..e16fd4c10b75 --- /dev/null +++ b/sys-libs/newlib/newlib-4.1.0.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git" + inherit git-r3 +else + SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz" + KEYWORDS="~arm ~hppa ~m68k ~mips ~ppc ~ppc64 ~sparc ~x86" +fi + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +DESCRIPTION="Newlib is a C library intended for use on embedded systems" +HOMEPAGE="https://sourceware.org/newlib/" + +LICENSE="NEWLIB LIBGLOSS GPL-2" +SLOT="0" +IUSE="nls threads unicode headers-only nano" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch +) + +NEWLIBBUILD="${WORKDIR}/build" +NEWLIBNANOBUILD="${WORKDIR}/build.nano" +NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install" + +# Adding -U_FORTIFY_SOURCE to counter the effect of Gentoo's +# auto-addition of _FORTIFY_SOURCE at gcc site: bug #656018#c4 +# Currently newlib can't be built itself when _FORTIFY_SOURCE +# is set. +CFLAGS_FULL="-ffunction-sections -fdata-sections -U_FORTIFY_SOURCE" +CFLAGS_NANO="-Os -ffunction-sections -fdata-sections -U_FORTIFY_SOURCE" + +pkg_setup() { + # Reject newlib-on-glibc type installs + if [[ ${CTARGET} == ${CHOST} ]] ; then + case ${CHOST} in + *-newlib|*-elf) ;; + *) die "Use sys-devel/crossdev to build a newlib toolchain" ;; + esac + fi + + case ${CTARGET} in + msp430*) + if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then + # bug #717610 + die "gcc for ${CTARGET} has to be 10.1 or above" + fi + ;; + esac +} + +src_configure() { + # TODO: 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 + # moved to libgloss for a long time now, so the code in newlib + # itself just gets in the way. + --disable-newlib-supplied-syscalls + ) + [[ ${CTARGET} == "spu" ]] \ + && myconf+=( --disable-newlib-multithread ) \ + || myconf+=( $(use_enable threads newlib-multithread) ) + + 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}" || die + emake -j1 DESTDIR="${D}" install + + 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 -rf "${D}"/usr/share/info || die + rm -rf "${D}"/usr/info || die +} diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 435e5ce41a26..c66a1e5bc147 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -1,34 +1,13 @@ AUX readline-5.0-no_rpath.patch 367 BLAKE2B a39663c6222f604acf0ea0a5b6e4a4c99097257727644d2e8b814377b0f9472a6cdba8ed6edacc61629a39458fb5905bb873474e72dd44ab3e7e78b330f451c5 SHA512 ce4a03fe5b60a1e785f35b6717c5e267a815e8fd1a1d59e527aa88f35709c457c1d7c505c34f63f0d32f8f1633eb66661e05e151e218ae5b74cec1d9ddc4ab92 AUX readline-6.2-rlfe-tgoto.patch 379 BLAKE2B 363dee5501fa9449eeee0647f1ae65106e28ad06af16c8aefe372a081eb5cd62b01a7cf2109ce5b3fc6577b6056f3a0206e3cc53f22d0a69f4d273930e3e2ab6 SHA512 1d2c3aafc949d92fdf6abbee60a60c80f0327f81694d5d8f3a166f1c24d37346caca3e72c9971106b96b2758a9a01269346954fe20bc381eb9da2e6a2737fc3c -AUX readline-6.3-fix-long-prompt-vi-search.patch 736 BLAKE2B 1439a22ce82d51dd7cfb4bd1436475dce1d566fb2cc592e8161400e62e2790eff4a21c0634ef99f5da75efb21583514b90d47bb574b97374239fbd7ebb13fde8 SHA512 ad5bb44ba00f6f5e355b95078209e2e51f8d8ba9a924d00ef6aa3286e09c15fe0024efa0817f9e6d86b7aecb73150fcd69d0051a0f7fb37475921478f62ce0e0 -AUX readline-6.3-read-eof.patch 1913 BLAKE2B 85cbba295d21de00af7cfa361d7976aabfb1110d860256224138a1844288f869f5225c296800aba5f637c892a988f834dddf184d06d308ae3da94cccb00ee5c4 SHA512 99728e35d64b466e2bea570412eec719c70841d205a5190c0000bcae55cf3ac2d659ae18e57b4c332525261d83e160054800cd89f4009ce3c76d1c3b4ac27223 AUX readline-7.0-headers.patch 550 BLAKE2B 82949940cda6d042923b3dde777fbd66643d80f4c2fd984eb11ef7f0fb48776ba8938d1c8be23087b328ce9b3ad0acd668f5bb4f0bda77b4a992119688a37191 SHA512 fec3d20e1581f35609a9d9f9ee1f48df8f9aa781e1a2cdcde2edf7d149624b5770867feb65a7ba142276d95a3133b768f5589e8041049aa0cf30068d0637b938 -AUX readline-7.0-mingw.patch 4464 BLAKE2B 00ca79f7ee128a78d76c3e0adcb8b51f6d3027718cc3a7b2b11660cd4aa9c61b4da15c893c9ad0595becf2c393c0d9e7597b5a772085bfc82974568c30f5b381 SHA512 f416f265c51f4cb05467c29c29abcaabf40ae29d66bb5d3288d35403ccc26903f2a22afef43382e39d7b13ba62732082c60d8f8d10abf7cf7955ee50fc23531b -AUX readline-7.0-missing-echo-proto.patch 466 BLAKE2B 251660f1321a36231774d5f03fea971a047688918a8f6498e019cadca43314097aee89ef8a96b104a5382ba0baa1037d500143f4d66e881da76d23f9385faaa9 SHA512 a8458bf62c73f79b980f375b98b33a6fbef59dec28386cd5266e4742a9cf70673e567f999d5682e538a2a47388d6f123d8a4fe4cfe34f19c28d4dafd93a9e10a AUX readline-8.0-headers.patch 577 BLAKE2B b8fe6cdf51188f68c852d3c9052e7840a0bcb4cd0cd0b25afa82d6fe8697dcb34aa541279010b308427c411a7133c481dd778551069893ad965ce6d3a4a9ff83 SHA512 81695abab2e9fba1b17a4c194b7c72eeb23bbc3ab84cb0716c08388c0ee60adb770ae8efcbbb6a2c7c6adab93dcff12e3a16d0423cf52a0166b38c9efee5c221 -DIST readline-6.3.tar.gz 2468560 BLAKE2B 24488ec141734c050ba985a93423692396f105619bae3ce5b109bc68a4f43862bcf3a6fb8d82fec1145d665cdb408765e179379bb35f008d09c441fa2e5739df SHA512 f70efaf46d570b85c7637172b0ee2eb9a4aa73ba38a62bb45075e665929d9701b96fba0aea6c767fd9a2a0d39dfe8e70ab06da08f8524aee76a7c502f370a401 -DIST readline-7.0.tar.gz 2910016 BLAKE2B 679b8aa7ce003017b729e6d8d4cb69d0f991578441a3e69005090079e61f6aa48b7ad4d0b1f34b6041528cf33254a1bf3ddb05b60db53a06e443d7922d49d0d4 SHA512 18243189d39bf0d4c8a76cddcce75243c1bae8824c686e9b6ba352667607e5b10c5feb79372a1093c1c388d821841670702e940df12eae94bcebdeed90047870 DIST readline-8.0.tar.gz 2975937 BLAKE2B 95e08b28cc46582f036379413810ca40c97d4d3bc59a9e03e04e57d531573abfbe955f6f1cb86e39c208bf6c3f4c618cff70a87bec596d0b9120909d6c5a2f69 SHA512 41759d27bc3a258fefd7f4ff3277fa6ab9c21abb7b160e1a75aa8eba547bd90b288514e76264bd94fb0172da8a4faa54aab2c07b68a0356918ecf7f1969e866f DIST readline-8.1.tar.gz 2993288 BLAKE2B f0feca1ea3517b2b613adacac8c997cce0e86aa2f410c82a40ce1a2e128067112b4c68dbf25b808291c28c47583345abac994ce10b8d117958afcb96ee5e7c69 SHA512 27790d0461da3093a7fee6e89a51dcab5dc61928ec42e9228ab36493b17220641d5e481ea3d8fee5ee0044c70bf960f55c7d3f1a704cf6b9c42e5c269b797e00 -DIST readline63-001 1366 BLAKE2B 82af5be99597719329db3f1d6049e75a5654ccf6597cf557c71ad7ada0ac03be87381a7738931eb78716de65902ae87498f574b84150a69eae9cc308c4bfffdd SHA512 e70f89ca52a4eae7e1cddd70de6a7162252231ee029c89bb3fcb0f6c8c8b46c666be910c8b2eee72e96983ec2f1a23663694dc222f67228d82e8e4684f1504a2 -DIST readline63-002 1297 BLAKE2B 5ace4a81381910ee48dee8cdbb2ca95a1bef2d1f8acca6d39a910c078c86de10a0fc29486939b336110ecb0281b3edb16e4b985f41e7ee161904728f289fff04 SHA512 4e23bd67433577e6e361d10a6c32768ea9e13b10e77493e565b870f56069b673fbcb0b860225f79fa9931845fc91d35c9a82c1385c23f8b757ebfd59f27851f4 -DIST readline63-003 985 BLAKE2B cf2cda505b100d5f820d8bfc99eed6b50e65c92b6a495073352fc7385c6456478594e5c2dc293ce556b66853dff705050fb97982aa25fce452ae53d2cb272cf4 SHA512 6bfb84a5b980091b995e2b96bdf5680f97fe670e6cac1b8606d2d75a1ef922ff5bd4e73f029f7af98a115006b7ab7828146f2cd6986287543d8a29987c91dc12 -DIST readline63-004 1363 BLAKE2B c1aec93f1e23acd51b36068d3aac31b93ffd9c1039be2c45ff4e6479135f153888030c68cf19c5ced950f6fbbb38ee7fa644d5a737f3f8ed511e97bf342940f5 SHA512 6b683e9fe28831885135391b5a23bc580cacf0ffe720951a80f545574eda4eb064fe189801d44329b2eb2d3577db5a90f9e5ad9ed131e7e8a8ae349511632721 -DIST readline63-005 1664 BLAKE2B f98f62be8676aca81b91d919bc4eccfe40c382a8baab0e64b1659b714f0d72424e29b709cc5e226fd73daf67eef264a17e07982d2553ce80f5e5f39fad70610b SHA512 b0332d7f999376788155341319d138a899a2278c338a6faaac89ecf3ed1e2248a07413dd810a76996bf25f211de787182b55f34ab3d7d31eb7519d7a48ebed32 -DIST readline63-006 1982 BLAKE2B ad6d16ff769eb8e367cf961ffe152c04778b046a04e4a62e0ce21d08fa16b0eca3d278dbdc274b082d24fa2ec959ffb62168ea7693b4de94b59a4526b1f0c4a2 SHA512 e9fbfa38d7b03ab2aff2e9e48918b85b4b67a729862ee47d1cc8e0aeb90c3224394a79f68829951e1377cae65742aa5385eae865f75e9c0b2e2abde42889431c -DIST readline63-007 1428 BLAKE2B 60e64c2dd36457e3992cfbfbbcc261337e515be360a37d71b9de236c62c781f10f0ec37e4e196b4634e5d547edebbf915370091ca42fff873b78cd80cfe3a7f2 SHA512 abee331894846b360203a521d9a66fa02c03214120d5cafbd1cb4d680bd7bbef14321ae845dd67f7b5e8c87322801fd96fc9a5fd0ae026b41d98dc24a8949854 -DIST readline63-008 1452 BLAKE2B 4e41c45be1479fba9f74bf9cedb8d1f6237e650962d5b45ea1a61cc48a8323a0fa60d76f68c011b6e7c73a1078b5ff80f9966e983b994f814d471d0efd9efde6 SHA512 8e30bbca3aa5cea8c2ee511abe0ec8f131608d74fe5ab24d68bcf452267f0f97446ed6e7cd482360876ce6c027280e4f4450cae05eb18f56046240f4c224841c -DIST readline70-001 1777 BLAKE2B ab217bd9d27f30351397db2b745cb33ac7e0ce18bbc00112bb87570da0f62ee0e8d182395c97e4ecc21af51e7e1e580ba48076de1095c556f0744475e4019821 SHA512 4402186905af8cd42c609d640c2e13b9ad61c7778e5a3fd2c2d9da301f0deab05b04d7836f31527262f44f406517823dbb18cb07f2c73931186c806b494699ec -DIST readline70-002 2953 BLAKE2B 47d729b1babe904855fe5d4f780a5b2153a743def527479c3cb82759cdee5bb4260be722e1050be680f5c0dd6dec8ca25c4c1ff557415abae6b3fac2bd481f0b SHA512 13d1489578508d4d2c3a1618024198a709dbce74a6bbf0f6d7ec67d2419c55bfec9f0ca9de0ed93f129d21d5c3a94307ccdc49408455bbb301c5e3a772b03185 -DIST readline70-003 1294 BLAKE2B 9473e18b582fba69cea83e3f5b9fa278dd8b0544325439307d2b4053cbeca8d2f008104bee181ae5d9405d702e6d3bcf26379c4d46e269906474c8544367b780 SHA512 eaf962a1480eb3870519017b81ecc5cef171e4c41fcf8c17da61ccbfd0379ed6bca85c17b03e2207ae4d51509f33fd010294c75f4bd0433a52118015d4160385 -DIST readline70-004 1501 BLAKE2B cebce69a21bee3a4d6a908de09f371d65eab6af51a8dc0f58fc915b916957db420252ce07b06703c05d984f62e1e849b6975f5444b2af6ba35ff7c939acf9d99 SHA512 7be41558eab3b88a3657f8589ecfaff0b8ee7f59083d385f50e8704fe830e05a50652a5feda19ff1f3cfd98bff4bb8e25e1637ec4dac8a618db9c8220a3d954e -DIST readline70-005 1641 BLAKE2B f720508f698b113c6328018f7e6e8775c7c79afc464047405a5c3dae017d611535017dfc2759c11483bb536fab1e9bf72c7a9d3c769b7aea3bd2cee9686bd522 SHA512 eeb27f4f9195cb905d5891f26480d58f59c885dde3457f7a30ff57760ac772e2333ee8aeae979214949f3b52030285b10db013e307ee7311abab677a4427e878 DIST readline80-001 927 BLAKE2B 95e3ac33ff4adb65813274864c17781056a8ea065f9a76571b4a6bcb2ebab090c3a021fa2b621832c11b5995e48a8a26dd6e3a8f5864a8e8b520bfcf85d7c4ab SHA512 a148cda6ac97935d51ede1bbacf847d7d2cba8861cf3941d32e3da2f45f16dcc05b20845b63d4264692520db8329e1236cf2bc4fd8ccbe6e40921bbbdeb2cb1c DIST readline80-002 1401 BLAKE2B a2f511272f6d651208469998330059d6bae17bb8b704b64468685bb0368b76df1ca5b1dcd8e5cb0019e80932130c8a92fd1a305679bf79f0b801532a94c4b4ae SHA512 a941d142a59fe592cc45c1cf4d416e2fc0ab543dd6a0496fb8b2ec6f651cedd6fb9e0c105f14880700b69b2d6912653b3f66371e45cbe4adc0cc9554801afd3c DIST readline80-003 2158 BLAKE2B d8910aef1b796a59500b255df8db71ad1738dd164fd69827759eade74b6d9806ecd364839cfa904fc2f2d48352342155f670e5ec43aac0693f36820fb7139a4d SHA512 85235fca047b4ac87b846d998fffc67ae67ed365b068fd2743e84f11fd00086f85e622955192e07e3560965e32ff5f6d014e0146cde528fb0d0f7b5b829875ca DIST readline80-004 1275 BLAKE2B ac260bab163f17ccc783e0c2a21351b05e9e86ad973383d228d10ec749f265df8588c38946c9da15e987192b50f1bcb81141c2f4e171f65455f58521e864a534 SHA512 301ced2361e7583468f9932038936387a016c20d1c41966658a78c7f7c48c70308bf66b3228de0a3c6fc880427b6a90ee1ac4d2693daed432e5ae970671a7461 -EBUILD readline-6.3_p8-r3.ebuild 4382 BLAKE2B 40f4d50108b38fea8c04c4d21d7f2d0166c903e4094b55a1878c230e8aa2dbe53c482e6ac0bd7173444aabf05e384b322852f06b8959b281c5cda7e561692540 SHA512 756f195d204a9ff3bc942ded6767db0afe8fb4186ffb86b66d8ac77262cc32834a34877a05d6903ae5da399562c596e3eab7641fb950bb7a97bd87261ce534d7 -EBUILD readline-7.0_p5-r1.ebuild 4873 BLAKE2B 3906ef2e23648e451512d7a9b7020b1185f098ca6e6f0d99a8939bc768f73fc90b3db227f861d3816102fe2cb4f950b456004ed333b325dda872a6cf88f148b0 SHA512 9c72e370630bb34d98c65bcdf8a4e9d5b064ac9237c67eda268f41d1ef2c3f0a5b8109b746b987cded1fc6807ac3c025a4b124bfe9910a01f07da5d12b8106a8 EBUILD readline-8.0_p4.ebuild 4843 BLAKE2B 4466c69c466200c3da9528b4456c69c86d46ace2dd7fb98183e8a42a8e956d0a4a597db0c3658396dea9f0cb57e40dd7926a2ea83e8388c430fb3d145e7635a2 SHA512 0b768071df2aabb2ec3381c13fbb6a0ff30ae9da8471c37f93daf96aa6a2fda652864feddca458e10e28f4d595041575db3da118928251394b623f05d48d6458 EBUILD readline-8.1.ebuild 4880 BLAKE2B 925b253a42d48e9fb28e8d612c5d4af3d1ea9291f747485896b1105e29e617f6790bc25a1afe6995e3fa00ba0152e02d1cfedb605d76d558b820f9a2cde63759 SHA512 62f2cb6e9594797cc363cde85a43c8c273ee5effb02fc355d5e7f6079884f86bb59d68aa22ccd34317e5e3c53c62ae4bbb8e89e752a72cca6a464534f8e6fcd7 MISC metadata.xml 472 BLAKE2B 8d3717ac6980105677b10449a1aabca9f9347066f73802241b904101172690bb789b8071f3670dd91ad2af0223c7bc5fb4ed594dc8af3aff20b17bdd681f7630 SHA512 f19a6f0d6aed18903778adc5ad45fdae39c4388e4f09e7cb8a110b798e8cc7ab1739ff813a227ad08ef1166309e1ead57c200b7fe42499a06db97af9f4bce173 diff --git a/sys-libs/readline/files/readline-6.3-fix-long-prompt-vi-search.patch b/sys-libs/readline/files/readline-6.3-fix-long-prompt-vi-search.patch deleted file mode 100644 index 23d785054e75..000000000000 --- a/sys-libs/readline/files/readline-6.3-fix-long-prompt-vi-search.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://lists.gnu.org/archive/html/bug-bash/2014-08/msg00082.html - -From 2774192e93991e3d85ccc37c714aa018e442af6d Mon Sep 17 00:00:00 2001 -From: Dylan Cali <calid1984@gmail.com> -Date: Sat, 23 Aug 2014 02:26:05 -0500 -Subject: [PATCH] fix vi search prompt bug for long prompts - ---- - display.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/display.c b/display.c -index 4df1f73..e575b16 100644 ---- a/display.c -+++ b/display.c -@@ -2259,7 +2259,7 @@ rl_message (va_alist) - va_start (args); - format = va_arg (args, char *); - #endif -- vsnprintf (msg_buf, msg_bufsiz - 1, format, args); -+ vsnprintf (msg_buf, msg_bufsiz, format, args); - } - #else - vsprintf (msg_buf, format, args); --- -1.7.10.4 diff --git a/sys-libs/readline/files/readline-6.3-read-eof.patch b/sys-libs/readline/files/readline-6.3-read-eof.patch deleted file mode 100644 index f74aad63be1f..000000000000 --- a/sys-libs/readline/files/readline-6.3-read-eof.patch +++ /dev/null @@ -1,54 +0,0 @@ -http://lists.gnu.org/archive/html/bug-bash/2014-12/msg00152.html - -*** ../bash-4.3-patched/lib/readline/readline.c 2014-10-01 13:08:28.000000000 -0400 ---- lib/readline/readline.c 2014-12-20 22:37:28.000000000 -0500 -*************** -*** 580,592 **** - } - -! /* EOF typed to a non-blank line is a <NL>. If we want to change this, -! to force any existing line to be ignored when read(2) reads EOF, -! for example, this is the place to change. */ - if (c == EOF && rl_end) -! c = NEWLINE; - - /* The character _rl_eof_char typed to blank line, and not as the -! previous character is interpreted as EOF. */ -! if (((c == _rl_eof_char && lastc != c) || c == EOF) && !rl_end) - { - #if defined (READLINE_CALLBACKS) ---- 587,620 ---- - } - -! /* EOF typed to a non-blank line is ^D the first time, EOF the second -! time in a row. This won't return any partial line read from the tty. -! If we want to change this, to force any existing line to be returned -! when read(2) reads EOF, for example, this is the place to change. */ - if (c == EOF && rl_end) -! { -! if (RL_SIG_RECEIVED ()) -! { -! RL_CHECK_SIGNALS (); -! if (rl_signal_event_hook) -! (*rl_signal_event_hook) (); /* XXX */ -! } -! -! /* XXX - reading two consecutive EOFs returns EOF */ -! if (RL_ISSTATE (RL_STATE_TERMPREPPED)) -! { -! if (lastc == _rl_eof_char || lastc == EOF) -! rl_end = 0; -! else -! c = _rl_eof_char; -! } -! else -! c = NEWLINE; -! } - - /* The character _rl_eof_char typed to blank line, and not as the -! previous character is interpreted as EOF. This doesn't work when -! READLINE_CALLBACKS is defined, so hitting a series of ^Ds will -! erase all the chars on the line and then return EOF. */ -! if (((c == _rl_eof_char && lastc != c) || c == EOF) && rl_end == 0) - { - #if defined (READLINE_CALLBACKS) diff --git a/sys-libs/readline/files/readline-7.0-mingw.patch b/sys-libs/readline/files/readline-7.0-mingw.patch deleted file mode 100644 index f003038d2c0f..000000000000 --- a/sys-libs/readline/files/readline-7.0-mingw.patch +++ /dev/null @@ -1,152 +0,0 @@ ---- a/colors.c -+++ b/colors.c -@@ -37,6 +37,10 @@ - #include "posixstat.h" // stat related macros (S_ISREG, ...) - #include <fcntl.h> // S_ISUID - -+#ifndef S_ISDIR -+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -+#endif -+ - // strlen() - #if defined (HAVE_STRING_H) - # include <string.h> -@@ -182,12 +186,17 @@ _rl_print_color_indicator (const char *f - if (S_ISREG (mode)) - { - colored_filetype = C_FILE; -- -+#ifdef S_ISUID - if ((mode & S_ISUID) != 0 && is_colored (C_SETUID)) - colored_filetype = C_SETUID; -- else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) -+ else -+#endif -+#ifdef S_ISGID -+ if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) - colored_filetype = C_SETGID; -- else if (is_colored (C_CAP) && 0) //f->has_capability) -+ else -+#endif -+ if (is_colored (C_CAP) && 0) //f->has_capability) - colored_filetype = C_CAP; - else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC)) - colored_filetype = C_EXEC; -@@ -211,12 +220,16 @@ _rl_print_color_indicator (const char *f - colored_filetype = C_STICKY; - #endif - } -+#if defined (S_ISLNK) - else if (S_ISLNK (mode)) - colored_filetype = C_LINK; -+#endif - else if (S_ISFIFO (mode)) - colored_filetype = C_FIFO; -+#if defined (S_ISSOCK) - else if (S_ISSOCK (mode)) - colored_filetype = C_SOCK; -+#endif - else if (S_ISBLK (mode)) - colored_filetype = C_BLK; - else if (S_ISCHR (mode)) ---- a/histfile.c -+++ b/histfile.c -@@ -606,12 +606,14 @@ history_truncate_file (fname, lines) - history_lines_written_to_file = 0; - } - -+#if defined (HAVE_CHOWN) - /* Make sure the new filename is owned by the same user as the old. If one - user is running this, it's a no-op. If the shell is running after sudo - with a shared history file, we don't want to leave the history file - owned by root. */ - if (rv == 0 && exists) - r = chown (filename, finfo.st_uid, finfo.st_gid); -+#endif - - xfree (filename); - FREE (tempname); -@@ -753,12 +755,14 @@ mmap_error: - history_lines_written_to_file = 0; - } - -+#if defined (HAVE_CHOWN) - /* Make sure the new filename is owned by the same user as the old. If one - user is running this, it's a no-op. If the shell is running after sudo - with a shared history file, we don't want to leave the history file - owned by root. */ - if (rv == 0 && exists) - mode = chown (histname, finfo.st_uid, finfo.st_gid); -+#endif - - FREE (histname); - FREE (tempname); ---- a/input.c -+++ b/input.c -@@ -71,6 +71,10 @@ extern int errno; - #include "rlshell.h" - #include "xmalloc.h" - -+#if defined (__MINGW32__) -+#include <conio.h> -+#endif -+ - /* What kind of non-blocking I/O do we have? */ - #if !defined (O_NDELAY) && defined (O_NONBLOCK) - # define O_NDELAY O_NONBLOCK /* Posix style */ ---- a/posixstat.h -+++ b/posixstat.h -@@ -78,30 +78,44 @@ - - #if defined (S_IFBLK) && !defined (S_ISBLK) - #define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) /* block device */ -+#elif !defined (S_IFBLK) -+#define S_ISBLK(m) 0 - #endif - - #if defined (S_IFCHR) && !defined (S_ISCHR) - #define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) /* character device */ -+#elif !defined (S_IFCHR) -+#define S_ISCHR(m) 0 - #endif - - #if defined (S_IFDIR) && !defined (S_ISDIR) - #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) /* directory */ -+#elif !defined (S_IFDIR) -+#define S_ISDIR(m) 0 - #endif - - #if defined (S_IFREG) && !defined (S_ISREG) - #define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) /* file */ -+#elif !defined (S_IFREG) -+#define S_ISREG(m) 0 - #endif - - #if defined (S_IFIFO) && !defined (S_ISFIFO) - #define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) /* fifo - named pipe */ -+#elif !defined (S_IFIFO) -+#define S_ISFIFO(m) 0 - #endif - - #if defined (S_IFLNK) && !defined (S_ISLNK) - #define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) /* symbolic link */ -+#elif !defined (S_IFLNK) -+#define S_ISLNK(m) 0 - #endif - - #if defined (S_IFSOCK) && !defined (S_ISSOCK) - #define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) /* socket */ -+#elif !defined (S_IFSOCK) -+#define S_ISSOCK(m) 0 - #endif - - /* -@@ -137,6 +151,8 @@ - /* These are non-standard, but are used in builtins.c$symbolic_umask() */ - #define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH) - #define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH) -+#if defined(S_IXUSR) && defined(S_IXOTH) - #define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) -+#endif - - #endif /* _POSIXSTAT_H_ */ diff --git a/sys-libs/readline/files/readline-7.0-missing-echo-proto.patch b/sys-libs/readline/files/readline-7.0-missing-echo-proto.patch deleted file mode 100644 index cad3c8ca2c44..000000000000 --- a/sys-libs/readline/files/readline-7.0-missing-echo-proto.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://lists.gnu.org/archive/html/bug-readline/2016-11/msg00000.html - -fix from upstream - ---- a/readline.h -+++ b/readline.h -@@ -413,6 +413,7 @@ - extern void rl_tty_set_default_bindings PARAMS((Keymap)); - extern void rl_tty_unset_default_bindings PARAMS((Keymap)); - -+extern int rl_tty_set_echoing PARAMS((int)); - extern int rl_reset_terminal PARAMS((const char *)); - extern void rl_resize_terminal PARAMS((void)); - extern void rl_set_screen_size PARAMS((int, int)); diff --git a/sys-libs/readline/readline-6.3_p8-r3.ebuild b/sys-libs/readline/readline-6.3_p8-r3.ebuild deleted file mode 100644 index 009f74e037f7..000000000000 --- a/sys-libs/readline/readline-6.3_p8-r3.ebuild +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils multilib toolchain-funcs flag-o-matic multilib-minimal preserve-libs usr-ldscript - -# Official patches -# See ftp://ftp.cwru.edu/pub/bash/readline-6.3-patches/ -PLEVEL=${PV##*_p} -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -[[ ${PV} != *_p* ]] && PLEVEL=0 -patches() { - [[ ${PLEVEL} -eq 0 ]] && return 1 - local opt=$1 - eval set -- {1..${PLEVEL}} - set -- $(printf "${PN}${MY_PV/\.}-%03d " "$@") - if [[ ${opt} == -s ]] ; then - echo "${@/#/${DISTDIR}/}" - else - local u - for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${PN} ; do - printf "${u}/${PN}-${MY_PV}-patches/%s " "$@" - done - fi -} - -DESCRIPTION="Another cute console display library" -HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html" -SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="static-libs utils" - -RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -S=${WORKDIR}/${MY_P} - -PATCHES=( - "${FILESDIR}"/${PN}-5.0-no_rpath.patch - "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 - "${FILESDIR}"/${PN}-6.3-fix-long-prompt-vi-search.patch - "${FILESDIR}"/${PN}-6.3-read-eof.patch -) - -src_unpack() { - unpack ${MY_P}.tar.gz -} - -src_prepare() { - [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s) - epatch "${PATCHES[@]}" - - # Force ncurses linking. #71420 - # Use pkg-config to get the right values. #457558 - local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses --libs) - sed -i \ - -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ - support/shobj-conf || die - sed -i \ - -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ - examples/rlfe/configure || die - - # fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated - # objformat for years, so we don't want to rely on that. - sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die - - ln -s ../.. examples/rlfe/readline # for local readline headers -} - -src_configure() { - # fix implicit decls with widechar funcs - append-cppflags -D_GNU_SOURCE - # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html - append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free - - # Make sure configure picks a better ar than `ar`. #484866 - export ac_cv_prog_AR=$(tc-getAR) - - # Force the test since we used sed above to force it. - export bash_cv_termcap_lib=ncurses - - # Control cross-compiling cases when we know the right answer. - # In cases where the C library doesn't support wide characters, readline - # itself won't work correctly, so forcing the answer below should be OK. - if tc-is-cross-compiler ; then - export bash_cv_func_sigsetjmp='present' - export bash_cv_func_ctype_nonascii='yes' - export bash_cv_wcwidth_broken='no' #503312 - fi - - # This is for rlfe, but we need to make sure LDFLAGS doesn't change - # so we can re-use the config cache file between the two. - append-ldflags -L. - - multilib-minimal_src_configure -} - -multilib_src_configure() { - ECONF_SOURCE=${S} \ - econf \ - --cache-file="${BUILD_DIR}"/config.cache \ - --docdir='$(datarootdir)'/doc/${PF} \ - --with-curses \ - $(use_enable static-libs static) - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # code is full of AC_TRY_RUN() - mkdir -p examples/rlfe || die - cd examples/rlfe || die - ECONF_SOURCE=${S}/examples/rlfe \ - econf --cache-file="${BUILD_DIR}"/config.cache - fi -} - -multilib_src_compile() { - emake - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # code is full of AC_TRY_RUN() - cd examples/rlfe || die - local l - for l in readline history ; do - ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) - ln -sf ../../lib${l}.a lib${l}.a - done - emake - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi ; then - gen_usr_ldscript -a readline history #4411 - - if use utils && ! tc-is-cross-compiler; then - dobin examples/rlfe/rlfe - fi - fi -} - -multilib_src_install_all() { - einstalldocs - dodoc USAGE - dohtml -r doc/. - docinto ps - dodoc doc/*.ps -} - -pkg_preinst() { - preserve_old_lib /$(get_libdir)/lib{history,readline}.so.{4,5} #29865 -} - -pkg_postinst() { - preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.{4,5} -} diff --git a/sys-libs/readline/readline-7.0_p5-r1.ebuild b/sys-libs/readline/readline-7.0_p5-r1.ebuild deleted file mode 100644 index 00c928489ece..000000000000 --- a/sys-libs/readline/readline-7.0_p5-r1.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic multilib-minimal toolchain-funcs preserve-libs usr-ldscript - -# Official patches -# See ftp://ftp.cwru.edu/pub/bash/readline-7.0-patches/ -PLEVEL="${PV##*_p}" -MY_PV="${PV/_p*}" -MY_PV="${MY_PV/_/-}" -MY_P="${PN}-${MY_PV}" -[[ ${PV} != *_p* ]] && PLEVEL=0 -patches() { - [[ ${PLEVEL} -eq 0 ]] && return 1 - local opt=$1 - eval set -- {1..${PLEVEL}} - set -- $(printf "${PN}${MY_PV/\.}-%03d " "$@") - if [[ ${opt} == -s ]] ; then - echo "${@/#/${DISTDIR}/}" - else - local u - for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${PN} ; do - printf "${u}/${PN}-${MY_PV}-patches/%s " "$@" - done - fi -} - -DESCRIPTION="Another cute console display library" -HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html" - -case ${PV} in - *_alpha*|*_beta*|*_rc*) - SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" - ;; - *) - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)" - ;; -esac - -LICENSE="GPL-3" -SLOT="0/7" # subslot matches SONAME major -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="static-libs +unicode utils" - -RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,unicode?,${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -S=${WORKDIR}/${MY_P} - -PATCHES=( - "${FILESDIR}"/${PN}-5.0-no_rpath.patch - "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 - "${FILESDIR}"/${PN}-7.0-headers.patch - "${FILESDIR}"/${PN}-7.0-missing-echo-proto.patch - "${FILESDIR}"/${PN}-7.0-mingw.patch -) - -# Needed because we don't want the patches being unpacked -# (which emits annoying and useless error messages) -src_unpack() { - unpack ${MY_P}.tar.gz -} - -src_prepare() { - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) - default - - # Force ncurses linking. #71420 - # Use pkg-config to get the right values. #457558 - local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) - sed -i \ - -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ - support/shobj-conf || die - sed -i \ - -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ - examples/rlfe/configure || die - - # fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated - # objformat for years, so we don't want to rely on that. - sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die - - ln -s ../.. examples/rlfe/readline || die # for local readline headers -} - -src_configure() { - # fix implicit decls with widechar funcs - append-cppflags -D_GNU_SOURCE - # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html - append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free - - # Make sure configure picks a better ar than `ar`. #484866 - export ac_cv_prog_AR=$(tc-getAR) - - # Force the test since we used sed above to force it. - export bash_cv_termcap_lib=ncurses - - # Control cross-compiling cases when we know the right answer. - # In cases where the C library doesn't support wide characters, readline - # itself won't work correctly, so forcing the answer below should be OK. - if tc-is-cross-compiler ; then - use kernel_Winnt || export bash_cv_func_sigsetjmp='present' - export bash_cv_func_ctype_nonascii='yes' - export bash_cv_wcwidth_broken='no' #503312 - fi - - # This is for rlfe, but we need to make sure LDFLAGS doesn't change - # so we can re-use the config cache file between the two. - append-ldflags -L. - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --cache-file="${BUILD_DIR}"/config.cache - --with-curses - $(use_enable static-libs static) - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # code is full of AC_TRY_RUN() - mkdir -p examples/rlfe || die - cd examples/rlfe || die - ECONF_SOURCE="${S}"/examples/rlfe \ - econf --cache-file="${BUILD_DIR}"/config.cache - fi -} - -multilib_src_compile() { - emake - - if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then - # code is full of AC_TRY_RUN() - cd examples/rlfe || die - local l - for l in readline history ; do - ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die - ln -s ../../lib${l}.a lib${l}.a || die - done - emake - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi ; then - gen_usr_ldscript -a readline history #4411 - - if use utils && ! tc-is-cross-compiler; then - dobin examples/rlfe/rlfe - fi - fi -} - -multilib_src_install_all() { - HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs - dodoc USAGE - docinto ps - dodoc doc/*.ps -} -pkg_preinst() { - # bug #29865 - # Reappeared in #595324 with paludis so keeping this for now... - preserve_old_lib /$(get_libdir)/lib{history,readline}.so.{4,5,6} -} - -pkg_postinst() { - preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.{4,5,6} -} |